📄 stock_contract_search.pas
字号:
unit Stock_Contract_Search;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, XPMenu, StdCtrls, Grids, DBGrids, Buttons, Mask,db,adodb,
ComCtrls;
type
Tfrm_Stock_Contract_Search = class(TForm)
Panel1: TPanel;
XPMenu1: TXPMenu;
GroupBox1: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
Edit4: TMaskEdit;
Label1: TLabel;
Edit5: TMaskEdit;
CheckBox5: TCheckBox;
Edit6: TComboBox;
Edit1: TComboBox;
Edit2: TComboBox;
Edit3: TComboBox;
Panel2: TPanel;
Cmd_Search: TSpeedButton;
Cmd_Select: TSpeedButton;
DBGrid1: TDBGrid;
Edit_Stock_Contract_NO: TLabeledEdit;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Cmd_SearchClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Cmd_SelectClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure CheckBox5Click(Sender: TObject);
procedure CheckBox4Click(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
procedure DateTimePicker2Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_Stock_Contract_Search: Tfrm_Stock_Contract_Search;
implementation
uses Data, func;
{$R *.dfm}
procedure Tfrm_Stock_Contract_Search.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
frm_data.ClientDataSet2.Active:=False;
frm_data.ClientDataSet2.Close;
frm_data.ClientDataSet_Select.Active:=False;
frm_data.ClientDataSet_Select.Close;
action:=cafree;
end;
procedure Tfrm_Stock_Contract_Search.Cmd_SearchClick(Sender: TObject);
var
tempsql:string;
begin
tempsql:='Select ID,Copy_Date,Contract_No,Arrive_Date,wldw,transactor,Proposer,resume,Remark from [Stock_contract] where ';
if (CheckBox1.Checked=True) and (Trim(Edit1.Text)<>'') then
begin
tempSql:=tempSql+' Copy_Date ='+''''+ Trim(Edit1.Text)+''''+' and ';
end;
if (CheckBox2.Checked=True) and (Trim(Edit2.Text)<>'') then
begin
tempSql:=tempSql+' Contract_No Like '+''''+'%'+ Trim(Edit2.Text)+'%'+''''+' and ';
end;
if (CheckBox3.Checked=True) and (Trim(Edit3.Text)<>'') then
begin
tempSql:=tempSql+' transactor Like '+''''+'%'+ Trim(Edit3.Text)+'%'+''''+' and ';
end;
if (CheckBox4.Checked=True) and (Trim(Edit4.Text)<>'- -') and (Trim(Edit5.Text)<>'- -') then
begin
tempsql:=tempsql+' Copy_Date between '''+Edit4.Text+''' and '''+Edit5.Text+''''+' and ';
end;
if (CheckBox5.Checked=True) and (Trim(Edit6.Text)<>'') then
begin
tempSql:=tempSql+' resume Like '+''''+'%'+ Trim(Edit6.Text)+'%'+''''+' and ';
end;
tempSql:=Copy(tempSql,0,length(tempSql)-4);
with frm_data.ClientDataSet2 do
begin
Close;
CommandText:='';
CommandText:=tempSql;
try
Open;
if frm_data.ClientDataSet2.RecordCount<=0 then
begin
Application.MessageBox('对不起系统还没有符合条件的【采购合同】!请确认!',pchar(application.Title),mb_iconwarning);
end;
if frm_data.ClientDataSet2.RecordCount>0 then
begin
frm_data.DataSource1.DataSet:=frm_data.ClientDataSet2;
frm_data.DataSource1.Enabled:=True;
DBGrid1.DataSource:=frm_data.DataSource1;
DBGrid1.Columns[0].Title.Caption:='序号';
DBGrid1.Columns[1].Title.Caption:='录单日期';
DBGrid1.Columns[2].Title.Caption:='单据编号';
DBGrid1.Columns[3].Title.Caption:='到达日期';
DBGrid1.Columns[4].Title.Caption:='往来单位';
DBGrid1.Columns[5].Title.Caption:='经手人';
DBGrid1.Columns[6].Title.Caption:='制单人';
DBGrid1.Columns[7].Title.Caption:='摘要';
DBGrid1.Columns[8].Title.Caption:='备注说明';
first;
Edit_Stock_Contract_NO.Text:=frm_data.ClientDataSet2.FieldByName('Contract_No').AsString;
end;
if frm_data.ClientDataSet2.RecordCount=0 then
begin
frm_data.DataSource1.DataSet:=frm_data.ClientDataSet2;
frm_data.DataSource1.Enabled:=False;
end;
except
Application.MessageBox('系统错误,在打开【采购合同表】数据表时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',pchar(application.Title),mb_iconwarning);
Exit;
end;
end;
end;
procedure Tfrm_Stock_Contract_Search.DBGrid1CellClick(Column: TColumn);
begin
Edit_Stock_Contract_NO.Text:=frm_data.ClientDataSet2.FieldByName('Contract_No').AsString;
end;
procedure Tfrm_Stock_Contract_Search.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
frm_data.ClientDataSet2.Active:=False;
frm_data.ClientDataSet2.Close;
end;
procedure Tfrm_Stock_Contract_Search.Cmd_SelectClick(Sender: TObject);
begin
if Stock_Contract_Str='DC' then
begin
if Trim(Edit_Stock_Contract_NO.Text)<>'' then
begin
Stock_Contract_NO:='';
Stock_Contract_NO:=Trim(Edit_Stock_Contract_NO.Text);
Close;
end
else
begin
Application.MessageBox('操作失败,【单据编号】不能为空,请确认!',pchar(application.Title),mb_iconwarning);
Exit;
end;
end;
end;
procedure Tfrm_Stock_Contract_Search.FormShow(Sender: TObject);
begin
if Stock_Contract_Str='DC' then
begin
Cmd_Select.Visible:=True;
end;
end;
procedure Tfrm_Stock_Contract_Search.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked=True then
begin
Edit1.Visible:=True;
Edit1.Clear;
with frm_data.ClientDataSet_Select do
begin
Close;
CommandText:='';
CommandText:='Select Distinct Copy_Date from [Stock_contract]';
try
Open;
while not eof do
begin
Edit1.Items.Add(ForMatDateTime('yyyy''-''mm''-''dd',frm_data.ClientDataSet_Select.FieldByName('Copy_Date').AsDateTime));
Next;
end;
except
Application.MessageBox('系统错误,系统在打开【采购合同】数据表时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),MB_ICONwarning);
Exit
end;
end;
end;
if CheckBox1.Checked=False then
begin
Edit1.Visible:=False;
Edit1.Clear;
end;
end;
procedure Tfrm_Stock_Contract_Search.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.Checked=True then
begin
Edit2.Visible:=True;
Edit2.Clear;
with frm_data.ClientDataSet_Select do
begin
Close;
CommandText:='';
CommandText:='Select Distinct Contract_NO from [Stock_contract]';
try
Open;
while not eof do
begin
Edit2.Items.Add(frm_data.ClientDataSet_Select.FieldByName('Contract_NO').AsString);
Next;
end;
except
Application.MessageBox('系统错误,系统在打开【采购合同】数据表时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),MB_ICONwarning);
Exit
end;
end;
end;
if CheckBox2.Checked=False then
begin
Edit2.Visible:=False;
Edit2.Clear;
end;
end;
procedure Tfrm_Stock_Contract_Search.CheckBox3Click(Sender: TObject);
begin
if CheckBox3.Checked=True then
begin
Edit3.Visible:=True;
Edit3.Clear;
with frm_data.ClientDataSet_Select do
begin
Close;
CommandText:='';
CommandText:='Select Distinct transactor from [Stock_contract]';
try
Open;
while not eof do
begin
Edit3.Items.Add(frm_data.ClientDataSet_Select.FieldByName('transactor').AsString);
Next;
end;
except
Application.MessageBox('系统错误,系统在打开【采购合同】数据表时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),MB_ICONwarning);
Exit
end;
end;
end;
if CheckBox3.Checked=False then
begin
Edit3.Visible:=False;
Edit3.Clear;
end;
end;
procedure Tfrm_Stock_Contract_Search.CheckBox5Click(Sender: TObject);
begin
if CheckBox5.Checked=True then
begin
Edit6.Visible:=True;
Edit6.Clear;
with frm_data.ClientDataSet_Select do
begin
Close;
CommandText:='';
CommandText:='Select Distinct resume from [Stock_contract]';
try
Open;
while not eof do
begin
Edit6.Items.Add(frm_data.ClientDataSet_Select.FieldByName('resume').AsString);
Next;
end;
except
Application.MessageBox('系统错误,系统在打开【采购合同】数据表时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),MB_ICONwarning);
Exit
end;
end;
end;
if CheckBox5.Checked=False then
begin
Edit6.Visible:=False;
Edit6.Clear;
end;
end;
procedure Tfrm_Stock_Contract_Search.CheckBox4Click(Sender: TObject);
begin
if CheckBox4.Checked=True then
begin
Edit4.Visible:=True; Edit5.Visible:=True;
Edit4.Clear; Edit5.Clear; Label1.Visible:=True;
DateTimePicker1.Visible:=True; DateTimePicker2.Visible:=True;
end;
if CheckBox4.Checked=False then
begin
Edit4.Visible:=False; Edit5.Visible:=False;
Edit4.Clear; Edit5.Clear; Label1.Visible:=False;
DateTimePicker1.Visible:=False; DateTimePicker2.Visible:=False;
end;
end;
procedure Tfrm_Stock_Contract_Search.DateTimePicker1Change(
Sender: TObject);
begin
Edit4.Text:=ForMatDateTime('yyyy''-''mm''-''dd',DateTimePicker1.Date);
end;
procedure Tfrm_Stock_Contract_Search.DateTimePicker2Change(
Sender: TObject);
begin
Edit5.Text:=ForMatDateTime('yyyy''-''mm''-''dd',DateTimePicker2.Date);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -