📄 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;
{$R *.dfm}
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 + -