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

📄 selclient.pas

📁 企业商品管理系统
💻 PAS
字号:
unit SelClient;

interface

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

type

  TFrm_SelClient = class(TBaseForm)
    GroupBox1: TGroupBox;
    StatusBar1: TStatusBar;
    Label1: TLabel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Label2: TLabel;
    Notebook1: TNotebook;
    Edit1: TEdit;
    DateTimePicker1: TDateTimePicker;
    Label3: TLabel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    ADODataSet2: TADODataSet;
    DataSource2: TDataSource;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    procedure FormShow(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
     BaseCon:TStrings;
  public
    { Public declarations }
  end;

var
  Frm_SelClient: TFrm_SelClient;

implementation
uses DM;
{$R *.dfm}

procedure TFrm_SelClient.FormShow(Sender: TObject);
var
  i:Integer;
begin
  ADODataSet1.Close;
  ADODataSet1.Open;

  ADODataSet2.Close;
  ADODataSet2.Open;

  ComboBox2.Clear;
  BaseCon:=ComboBox2.Items;
  BaseCon.BeginUpdate;
  BaseCon.Add(' < ');
  BaseCon.Add(' > ');
  BaseCon.Add(' <> ');
  BaseCon.Add(' = ');
  BaseCon.Add(' >= ');
  BaseCon.Add(' <= ');
  BaseCon.EndUpdate;

  Notebook1.PageIndex:=0;

  ComboBox1.Clear;
  for i:=0 to DBGrid1.Columns.Count-1 do
  begin
    with DBGrid1 do
    begin
      if Columns[i].Field.DataType in [ftString, ftSmallint, ftInteger, ftWord,
                    ftFloat, ftCurrency,ftWideString,ftLargeint,
                    ftDate, ftTime, ftDateTime] then
      ComboBox1.Items.Add(Columns[i].Title.Caption);
      Next;
    end;
  end;
end;

procedure TFrm_SelClient.ComboBox1Change(Sender: TObject);
begin
  ComboBox2.Clear;
  BaseCon:=ComboBox2.Items;
  BaseCon.BeginUpdate;
  BaseCon.Add(' < ');
  BaseCon.Add(' > ');
  BaseCon.Add(' <> ');
  BaseCon.Add(' = ');
  BaseCon.Add(' >= ');
  BaseCon.Add(' <= ');
  BaseCon.EndUpdate;
  with DBGrid1.Columns[ComboBox1.itemIndex].Field do
  if DataType in [ftSmallint, ftInteger, ftWord,
            ftFloat, ftCurrency,ftLargeint] then
  begin
      Notebook1.PageIndex:=0;
  end
  else if DataType in [ftString,ftWideString] then
  begin
      BaseCon.BeginUpdate;
      BaseCon.Add(' Like ');
      BaseCon.Add(' Not Like ');
      BaseCon.EndUpdate;
      Notebook1.PageIndex:=0;
  end
  else if DataType in [ftDate, ftTime, ftDateTime] then
  begin
      Notebook1.PageIndex:=1;
  end;
end;

procedure TFrm_SelClient.SpeedButton3Click(Sender: TObject);
begin
  Close;
end;

procedure TFrm_SelClient.SpeedButton2Click(Sender: TObject);
begin
  ADODataSet1.Filtered:=False;
  ADODataSet1.Filter:='';
  ADODataSet1.Filtered:=True;
end;

procedure TFrm_SelClient.SpeedButton1Click(Sender: TObject);
var
  SQLStr:string;
begin
  if ComboBox1.Text='' then
  begin
    Application.MessageBox('查询字段不能为空!','明日科技');
    ComboBox1.SetFocus;
    Exit;
  end;
  if ComboBox2.Text='' then
  begin
    Application.MessageBox('查询条件不能为空!','明日科技');
    ComboBox2.SetFocus;
    Exit;
  end;
  
  case Notebook1.PageIndex of
  0 :begin
      if Edit1.Text='' then
      begin
        Application.MessageBox('查询的值不能为空!','明日科技');
        Edit1.SetFocus;
        Exit;
      end;
     end;
  1 :begin
        //什么也不用做
     end;
  end;

  if (Trim(ComboBox2.Text)='Like') or (Trim(ComboBox2.Text)='Not Like') then
  begin
    SQLStr:=DBGrid1.Columns[ComboBox1.ItemIndex].FieldName+ComboBox2.Text+Quotedstr(Edit1.Text);
  end
  else if (Notebook1.PageIndex=1) then
  begin
    SQLStr:=DBGrid1.Columns[ComboBox1.ItemIndex].FieldName+ComboBox2.Text+QuotedStr(DateTimeToStr(DateTimePicker1.DateTime));
  end
  else
  begin
    SQLStr:=DBGrid1.Columns[ComboBox1.ItemIndex].FieldName+ComboBox2.Text+Edit1.Text;
  end;

  ADODataSet1.Filtered:=False;
  ADODataSet1.Filter:=SQLStr;
  ADODataSet1.Filtered:=True;
end;

end.

⌨️ 快捷键说明

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