?? s_sq.pas
字號:
unit S_SQ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Mask, DBCtrls, ExtCtrls, ComCtrls, Grids,
DBGrids;
type
TS_SQFrm = class(TForm)
BB_Query: TBitBtn;
BB_Close: TBitBtn;
GroupBox1: TGroupBox;
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
ComboBox2: TComboBox;
Label3: TLabel;
Edit1: TEdit;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
ComboBox5: TComboBox;
Edit2: TEdit;
DBGrid1: TDBGrid;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DateTime1: TDateTimePicker;
DateTime2: TDateTimePicker;
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
procedure DateTime1CloseUp(Sender: TObject);
procedure DateTime2CloseUp(Sender: TObject);
procedure BB_CloseClick(Sender: TObject);
procedure BB_QueryClick(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
S_SQFrm: TS_SQFrm;
implementation
uses DataModule,Scheme;
procedure TS_SQFrm.ComboBox1Change(Sender: TObject);
begin
if ComboBox1.Text='計劃投產日期' then
DateTime1.Visible:=true;
end;
procedure TS_SQFrm.ComboBox4Change(Sender: TObject);
begin
if ComboBox4.Text='計劃投產日期' then
DateTime2.Visible:=true;
end;
procedure TS_SQFrm.DateTime1CloseUp(Sender: TObject);
begin
Edit1.Text:=formatDatetime('yyyy-m-d',DateTime1.Date);
end;
procedure TS_SQFrm.DateTime2CloseUp(Sender: TObject);
begin
Edit2.Text:=formatDatetime('yyyy-m-d',DateTime2.Date);
end;
procedure TS_SQFrm.BB_CloseClick(Sender: TObject);
begin
S_SQFrm.Close;
end;
procedure TS_SQFrm.BB_QueryClick(Sender: TObject);
var
Field1,Field2:string;
str:string;
begin
str:='';
//條件1
if ComboBox1.Text='計劃投產日期' then
Field1:='Scheme_Time'
else if ComboBox1.Text='憑證號' then
Field1:='Credence_ID'
else if ComboBox1.Text='原憑證號' then
Field1:='Credence_OID'
else if ComboBox1.Text='生產部門名稱' then
Field1:='Department_Name'
else if ComboBox1.Text='生產部門編號' then
Field1:='Department_ID'
else if ComboBox1.Text='產品名稱' then
Field1:='Product_Name'
else if ComboBox1.Text='產品編號' then
Field1:='Product_ID'
else if ComboBox1.Text='產品規格' then
Field1:='Product_Standard'
else if ComboBox1.Text='計量單位' then
Field1:='Product_Unit'
else Field1:='Scheme_Num';
if (ComboBox2.Text<>'') and (Edit1.Text<>'') then
if Field1='Scheme_Time' then
str:=str+Field1+ComboBox2.Text+'#'+Edit1.Text+'#' //日期類型查詢語句
else if (Field1='Department_ID') or (Field1='Product_ID') then
str:=str+Field1+ComboBox2.Text+Edit1.Text //數字類型查詢語句
else
str:=str+Field1+ComboBox2.Text+''''+Edit1.Text+''''; //文本類型查詢語句
//條件2
if ComboBox4.Text='計劃投產日期' then
Field2:='Scheme_Time'
else if ComboBox4.Text='憑證號' then
Field2:='Credence_ID'
else if ComboBox4.Text='原憑證號' then
Field2:='Credence_OID'
else if ComboBox4.Text='生產部門名稱' then
Field2:='Department_Name'
else if ComboBox4.Text='生產部門編號' then
Field2:='Department_ID'
else if ComboBox4.Text='產品名稱' then
Field2:='Product_Name'
else if ComboBox4.Text='產品編號' then
Field2:='Product_ID'
else if ComboBox4.Text='產品規格' then
Field2:='Product_Standard'
else if ComboBox4.Text='計量單位' then
Field2:='Product_Unit'
else Field2:='Scheme_Num';
if (ComboBox5.Text<>'') and (Edit2.Text<>'') then
if ComboBox3.Text='并' then
begin
if Field2='Scheme_Time' then
str:=str+' and '+Field2+ComboBox5.Text+'#'+Edit2.Text+'#' //日期類型查詢語句
else if (Field2='Department_ID') or (Field2='Product_ID') then
str:=str+' and '+Field2+ComboBox5.Text+Edit2.Text //數字類型查詢語句
else
str:=str+' and '+Field2+ComboBox5.Text+''''+Edit2.Text+''''; //文本類型查詢語句
end
else
begin
if Field2='Scheme_Time' then
str:=str+' or '+Field2+ComboBox5.Text+'#'+Edit2.Text+'#' //日期類型查詢語句
else if (Field2='Department_ID') or (Field2='Product_ID') then
str:=str+' or '+Field2+ComboBox5.Text+Edit2.Text //數字類型查詢語句
else
str:=str+' or '+Field2+ComboBox5.Text+''''+Edit2.Text+''''; //文本類型查詢語句
end;
with DM.AQ_Scheme do
begin
close;
SQL.Clear;
SQL.Add('Select * from Scheme where '+str);
open;
end;
if DM.AQ_Scheme.RecordCount=0 then
Application.MessageBox('沒有數據與條件相符','查詢結果',MB_OK);
Edit2.ReadOnly:=true;
Edit2.Color:=clInfoBk;
Edit1.Text:='';
Edit2.Text:='';
end;
procedure TS_SQFrm.ComboBox3Change(Sender: TObject);
begin
Edit2.ReadOnly:=false;
Edit2.Color:=clWindow;
end;
procedure TS_SQFrm.FormCreate(Sender: TObject);
begin
DM.AQ_Scheme.Filtered:=true;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -