📄 unit6.pas
字号:
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Grids, DBGrids, DB, ADODB;
type
TForm6 = class(TForm)
DBGrid1: TDBGrid;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
Label2: TLabel;
DateTimePicker2: TDateTimePicker;
Button1: TButton;
CheckBox4: TCheckBox;
ComboBox4: TComboBox;
ADOQuery1: TADOQuery;
conn_query: TADOConnection;
DataSource1: TDataSource;
Button2: TButton;
ADOQuery2: TADOQuery;
procedure FormCreate(Sender: TObject);
function ConnectDataBase():boolean;
procedure ComboBox4Click(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
Cus_NO:string;
{ Public declarations }
end;
var
Form6: TForm6;
implementation
{$R *.dfm}
function TForm6.ConnectDataBase():boolean;
var
Constr:string;
begin
conn_query.Close;
try
Constr:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=admin;';
Constr:=Constr+'Data Source='+ExtractFilePath(Application.ExeName)+'database\ZD.mdb;Mode=ReadWrite';
conn_query.ConnectionString := Constr;
conn_query.Connected:=true;
result:=true;
except
result:=false;
application.MessageBox('连接数据库失败','提示',1);
end;
end;
procedure TForm6.FormCreate(Sender: TObject);
var
manufactory,area_type,pzuser:string;
begin
ConnectDataBase;
DateTimePicker1.Date:=now-30;
DateTimePicker2.Date:=now;
DateTimePicker1.DateFormat:=dfshort;
DateTimePicker2.DateFormat:=dfshort;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.sql.Add('select distinct Manufactory from shopName');
ADOQuery2.Open;
Combobox4.Clear;
while not ADOQuery2.Eof do
begin
manufactory:=ADOQuery2.FieldByName('Manufactory').AsString;
Combobox4.Items.Add(manufactory);
ADOQuery2.Next;
end;
end;
procedure TForm6.ComboBox4Click(Sender: TObject);
var
sql,S_Quality:string;
begin
combobox1.Clear;
sql:='Select distinct Quality from ShopName where manufactory='''+combobox4.Text+'''';
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(sql);
ADOQuery2.Open;
While not ADOQuery2.Eof do
begin
S_Quality:=ADOQuery2.FieldByName('Quality').AsString;
combobox1.Items.Add(S_Quality);
ADOQuery2.Next;
end;
end;
procedure TForm6.ComboBox1Click(Sender: TObject);
var
S_Size,sql:string;
begin
combobox2.Clear;
sql:='Select distinct Shop_Size from ShopName where manufactory='''+combobox4.Text+''' and quality='''+combobox1.Text+'''';
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(sql);
ADOQuery2.Open;
While not ADOQuery2.Eof do
begin
S_Size:=ADOQuery2.FieldByName('Shop_Size').AsString;
combobox2.Items.Add(S_Size);
ADOQuery2.Next;
end;
end;
procedure TForm6.Button1Click(Sender: TObject);
var
sql,sql1,sql2,sql3,sql4:string;
startdate,Enddate:TDatetime;
begin
startdate:=DateTimePicker1.Date;
Enddate:=DateTimePicker2.Date;
sql1:='Select ManuFactory as 生产厂商, Quality as 产品类别,Pzsize as 产品名称,packagenum as 包装规格,';
sql3:='cellnum as 数量,price as 出货价,Jiner as 金额,Pzuser as 经手人,Outputdate as 进货日期 from OutputCell where Outputdate>=:s_date and Outputdate<=:e_date and Cus_NO=:cusno';
if checkbox4.Checked then
sql2:=' and Manufactory=:s_manufactory';
if (checkbox4.Checked) and (checkbox1.Checked) then
sql2:=' and Manufactory=:s_manufactory and quality=:s_quality';
if (checkbox4.Checked) and (checkbox1.Checked) and (checkbox2.Checked) then
sql2:=' and Manufactory=:s_manufactory and quality=:s_quality and Pzsize=:s_pzsize';
sql:=sql1+sql3+sql2;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
if sql2='' then
ADOQuery1.SQL.Add(sql1+sql3)
else
ADOQuery1.SQL.Add(sql1+sql3+sql2);
ADOQuery1.Parameters.ParamByName('s_date').Value:=startdate;
ADOQuery1.Parameters.ParamByName('e_date').Value:=Enddate;
ADOQuery1.Parameters.ParamByName('cusno').Value:=Cus_NO;
if checkbox4.Checked then
ADOQuery1.Parameters.ParamByName('s_manufactory').Value:=combobox4.Text;
if (checkbox4.Checked) and (checkbox1.Checked) then
begin
ADOQuery1.Parameters.ParamByName('s_manufactory').Value:=combobox4.Text;
ADOQuery1.Parameters.ParamByName('s_quality').Value:=combobox1.Text;
end;
if (checkbox4.Checked) and (checkbox1.Checked) and (checkbox2.Checked) then
begin
ADOQuery1.Parameters.ParamByName('s_manufactory').Value:=combobox4.Text;
ADOQuery1.Parameters.ParamByName('s_quality').Value:=combobox1.Text;
ADOQuery1.Parameters.ParamByName('s_pzsize').Value:=combobox2.Text;
end;
ADOQuery1.Open;
end;
procedure TForm6.Button2Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -