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

📄 frmsearchunit.~pas

📁 根据客户对销售人员回款返利和业绩返利的功能需求所开发
💻 ~PAS
字号:
unit frmSearchUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, ExtCtrls, ComCtrls, StdCtrls, Grids, DBGrids, DB,DBClient,ADODB;

type
  TfrmSearch = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    SpeedButton1: TSpeedButton;
    Panel3: TPanel;
    Label1: TLabel;
    S_DD: TDateTimePicker;
    E_DD: TDateTimePicker;
    SpeedButton2: TSpeedButton;
    dsSource: TDataSource;
    Panel4: TPanel;
    Label2: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    SpeedButton3: TSpeedButton;
    DBGrid1: TDBGrid;
    btnOK: TBitBtn;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DBGrid1ColEnter(Sender: TObject);
  private
    { Private declarations }
  public
    initSql:String;
    FieldA,TitleA,FieldB,TitleB,FieldA_TIME,S_Caption:String;
    DD:TDateTime;
    { Public declarations }
  end;

var
  frmSearch: TfrmSearch;

implementation
    
{$R *.dfm}

procedure TfrmSearch.SpeedButton1Click(Sender: TObject);
begin
  close;
end;

procedure TfrmSearch.SpeedButton2Click(Sender: TObject);
var
  sql:String;
begin
  sql:=initSql+' and '+FieldA_time +'>='''+FormatDatetime('yyyy-mm-dd',s_dd.Date)+''' and '+FieldA_TIME+'<='''+FormatDatetime('yyyy-MM-dd',E_DD.Date)+'''';
  

 (dsSource.DataSet as TADOQUERY).Active:=False;
  (dsSource.DataSet as TADOQUERY).SQL.Clear;
  (dsSource.DataSet as TADOQUERY).SQL.(sql);
  (dsSource.DataSet as TADOQUERY).Active:=True;
  Label3.Caption:= S_Caption+'         ['+IntToStr((dsSource.DataSet as TADOQUERY).RecordCount)+']笔数据';
end;

procedure TfrmSearch.FormShow(Sender: TObject);
begin
  if dbGrid1.Columns.Count=2 then
     begin
       dbGrid1.Columns[0].Width:=154;
       dbGrid1.Columns[1].Width:=112;
     end;
     Label1.Caption:=s_caption ;
    Label3.Caption:= S_Caption+'         ['+IntToStr((dsSource.DataSet as TADOQuery).RecordCount)+']笔数据';
    if (dsSource.DataSet as TADOQuery).RecordCount=0 then
      SPeedbutton2.Click;
     
end;

procedure TfrmSearch.Edit1Change(Sender: TObject);

 var
  s:string;
   vDate:   TDateTime;
begin
  s:=DBGrid1.Columns[0].FieldName;
  if (dsSource.DataSet as TclientDataSet).FieldByName(s).ClassName='TStringField' then
   (dsSource.DataSet as TclientDataSet).Locate(s,edit1.Text,[loCaseInsensitive	])
  else if (dsSource.DataSet as TclientDataSet).FieldByName(s).ClassName='TDateTimeField' then
    begin
       if   TryStrToDate(Edit1.Text,   vDate)   then
         (dsSource.DataSet as TclientDataSet).Locate(s,edit1.Text,[loCaseInsensitive	]) ;
    end;
end;

procedure TfrmSearch.SpeedButton3Click(Sender: TObject);
begin
  DBGrid1.Columns[1].Index:=0;
end;

procedure TfrmSearch.DBGrid1DblClick(Sender: TObject);
begin
   close;
end;

procedure TfrmSearch.DBGrid1CellClick(Column: TColumn);
begin
 Edit1.OnChange:=nil;
  Edit1.Text := (dsSource.DataSet as TADOQUERY).FieldByName(FieldA).AsString;
  Edit1.OnChange:=Edit1Change;
end;

procedure TfrmSearch.DBGrid1ColEnter(Sender: TObject);
begin
   Edit1.OnChange:=nil;
  Edit1.Text := (dsSource.DataSet as TADOQUERY).FieldByName(FieldA).AsString;
  Edit1.OnChange:=Edit1Change;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -