📄 membersearchfrm.pas
字号:
unit MemberSearchFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, ComCtrls, StdCtrls, Grids, DBGrids, DB, ADODB;
type
TFrmMemberSearch = class(TForm)
Image1: TImage;
GroupBox1: TGroupBox;
edMem_ID: TEdit;
Label1: TLabel;
rbCurrent: TRadioButton;
rbHistory: TRadioButton;
GroupBox2: TGroupBox;
Label2: TLabel;
Label3: TLabel;
dtpStartDate: TDateTimePicker;
dtpEndDate: TDateTimePicker;
ADOQuery1: TADOQuery;
btnSearch: TButton;
StatusBar1: TStatusBar;
ListView1: TListView;
DataSource1: TDataSource;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure btnSearchClick(Sender: TObject);
procedure rbHistoryClick(Sender: TObject);
procedure rbCurrentClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmMemberSearch: TFrmMemberSearch;
implementation
uses MainFrm;
{$R *.dfm}
procedure TFrmMemberSearch.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
FrmMemberSearch.Free;
FrmMain.sp6 := False;
end;
procedure TFrmMemberSearch.FormCreate(Sender: TObject);
begin
GroupBox2.Visible := False;
edMem_ID.Clear;
end;
procedure TFrmMemberSearch.btnSearchClick(Sender: TObject);
var
SearchStr : String;
StartDate, EndDate, BorrowDate : Real;
begin
if Length(Trim(edMem_ID.Text)) < 5 then //会员/租借卡编号错误
begin
Application.MessageBox('会员或租借卡编号错误,无法查询!','错误',MB_ICONWARNING+MB_OK);
edMem_ID.SetFocus;
edMem_ID.SelectAll;
Exit;
end;
if rbCurrent.Checked then
begin //当前租借状况查询
SearchStr := 'Select * From BorrowInfo, CD_Info, CD_Store Where BorrowInfo.User_ID = '''+edMem_ID.Text+''' and BorrowInfo.Yes_No = ''0''';
SearchStr := SearchStr + ' and BorrowInfo.Store_ID = CD_Store.Store_ID and CD_Store.CD_ID = CD_Info.CD_ID';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := SearchStr;
ADOQuery1.Open;
ListView1.Clear;
While not ADOQuery1.Eof do
begin
With ListView1.Items.Add do
begin
Caption := ADOQuery1.FieldByName('BorrowInfo.Store_ID').AsString;
SubItems.Add(ADOQuery1.FieldByName('CD_NameCn').AsString);
SubItems.Add(ADOQuery1.FieldByName('Role_Leading').AsString);
SubItems.Add(ADOQuery1.FieldByName('Borrow_Date').AsString);
//SubItems.Add(ADOQuery1.FieldByName('Return_Date').AsString);
end;
ADOQuery1.Next;
end;
end
else
begin //租借历史查询
if Length(Trim(edMem_ID.Text)) = 5 then
begin
Application.MessageBox('非会员不提供租借历史查询!','错误',MB_ICONWARNING+MB_OK);
edMem_ID.SetFocus;
edMem_ID.SelectAll;
Exit;
end;
StartDate := dtpStartDate.DateTime;
EndDate := dtpEndDate.DateTime;
SearchStr := 'Select * From BorrowInfo, CD_Info, CD_Store Where BorrowInfo.User_ID = '''+edMem_ID.Text+''' and BorrowInfo.Yes_No = ''1''';
SearchStr := SearchStr + ' and BorrowInfo.Store_ID = CD_Store.Store_ID and CD_Store.CD_ID = CD_Info.CD_ID';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := SearchStr;
ADOQuery1.Open;
ListView1.Clear;
While not ADOQuery1.Eof do
begin
BorrowDate := ADOQuery1.FieldByName('Borrow_Date').AsDateTime;
if (BorrowDate >= StartDate) and (BorrowDate <= EndDate) then
With ListView1.Items.Add do
begin
Caption := ADOQuery1.FieldByName('BorrowInfo.Store_ID').AsString;
SubItems.Add(ADOQuery1.FieldByName('CD_NameCn').AsString);
SubItems.Add(ADOQuery1.FieldByName('Role_Leading').AsString);
SubItems.Add(ADOQuery1.FieldByName('Borrow_Date').AsString);
SubItems.Add(ADOQuery1.FieldByName('Return_Date').AsString);
end;
ADOQuery1.Next;
end;
end;
end;
procedure TFrmMemberSearch.rbHistoryClick(Sender: TObject);
begin
if Length(Trim(edMem_ID.Text)) = 5 then
begin
Application.MessageBox('非会员不提供租借历史查询!','错误',MB_ICONWARNING+MB_OK);
edMem_ID.SetFocus;
edMem_ID.SelectAll;
Exit;
end;
GroupBox2.Visible := True;
end;
procedure TFrmMemberSearch.rbCurrentClick(Sender: TObject);
begin
GroupBox2.Visible := False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -