⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stock_contract_search.pas

📁 delphi的一个开发实例
💻 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 + -