📄 cbhs_unit.~pas
字号:
unit cbhs_unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Grids, DBGrids, Buttons,data,ExtCtrls, QuickRpt,
QRCtrls;
type
Tcbhs_form = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
GroupBox2: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
DBGrid1: TDBGrid;
StatusBar1: TStatusBar;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure RadioButton5Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
cbhs_form: Tcbhs_form;
implementation
{$R *.dfm}
procedure Tcbhs_form.RadioButton1Click(Sender: TObject);
begin
begin
with data.Database do
begin
data.Database.ADOQ4.Connection :=adoc;
data.Database.adoq5.Connection :=adoc;
edit1.Text :=formatdatetime('MM-dd-yy',datetimepicker1.date);
edit2.Text :=formatdatetime('MM-dd-yy',datetimepicker2.date);
data.Database.adoq5.SQL.Clear ;
data.Database.adoq5.SQL.Add('select 商品编码,商品名称,类别,规格,型号,单位,sum(数量) as 数量,sum(金额) as 成本 from jhd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'# group by 商品编码,商品名称,类别,规格,型号,单位');
data.Database.adoq5.Active :=true;
if data.Database.adoq5.Recordset.RecordCount >0 then
begin
data.Database.datas4.DataSet :=data.Database.adoq5;
dbgrid1.DataSource :=data.Database.datas4;
statusbar1.Panels[1].Text :=inttostr(data.Database.adoq5.Recordset.RecordCount );
dbgrid1.Columns[0].Width :=80;
dbgrid1.Columns[1].Width :=80;
dbgrid1.Columns[2].Width :=80;
dbgrid1.Columns[3].Width :=80;
dbgrid1.Columns[4].Width :=80;
dbgrid1.Columns[5].Width :=80;
dbgrid1.Columns[6].Width :=80;
data.Database.adoq4.SQL.Clear ;
data.Database.adoq4.SQL.Add('select sum(数量) as sl,sum(金额) as je1 from jhd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'#');
data.Database.adoq4.Active :=true;
statusbar1.Panels[3].Text :=floattostr(data.Database.adoq4.Fields.Fields[0].AsFloat);
statusbar1.Panels[5].Text :=floattostr(data.Database.adoq4.Fields.Fields[1].AsFloat);
end
else begin showmessage('没有进货信息!');radiobutton1.Checked :=false; end;
end;
end;
end;
procedure Tcbhs_form.RadioButton2Click(Sender: TObject);
begin
with data.Database do
begin
data.Database.adoq4.Connection :=data.Database.adoc;
data.Database.adoq5.Connection :=data.Database.adoc;
edit1.Text :=formatdatetime('MM-dd-yy',datetimepicker1.date);
edit2.Text :=formatdatetime('MM-dd-yy',datetimepicker2.date);
data.Database.adoq5.SQL.Clear ;
data.Database.adoq5.SQL.Add('select 商品编码,商品名称,类别,规格,型号,单位,sum(数量) as 数量,sum(金额) as 成本 from xshd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'# group by 商品编码,商品名称,类别,规格,型号,单位');
data.Database.adoq5.Active :=true;
if data.Database.adoq5.Recordset.RecordCount >0 then
begin
data.Database.datas4.DataSet :=data.Database.adoq5;
dbgrid1.DataSource :=data.Database.datas4;
statusbar1.Panels[1].Text :=inttostr(data.Database.adoq5.Recordset.RecordCount );
dbgrid1.Columns[0].Width :=80;
dbgrid1.Columns[1].Width :=80;
dbgrid1.Columns[2].Width :=80;
dbgrid1.Columns[3].Width :=80;
dbgrid1.Columns[4].Width :=80;
dbgrid1.Columns[5].Width :=80;
dbgrid1.Columns[6].Width :=80;
data.Database.adoq4.SQL.Clear ;
data.Database.adoq4.SQL.Add('select sum(数量) as sl,sum(金额) as je1 from xshd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'#');
data.Database.adoq4.Active :=true;
statusbar1.Panels[3].Text :=floattostr(data.Database.adoq4.Fields.Fields[0].AsFloat);
statusbar1.Panels[5].Text :=floattostr(data.Database.adoq4.Fields.Fields[1].AsFloat);
end
else begin showmessage('没有销售信息!');radiobutton2.Checked :=false;end;
end;
end;
procedure Tcbhs_form.SpeedButton3Click(Sender: TObject);
begin
close;
end;
procedure Tcbhs_form.RadioButton3Click(Sender: TObject);
begin
with data.database do
begin
data.database.adoq4.Connection :=data.database.adoc;
data.database.adoq5.Connection :=data.database.adoc;
edit1.Text :=formatdatetime('MM-dd-yy',datetimepicker1.date);
edit2.Text :=formatdatetime('MM-dd-yy',datetimepicker2.date);
data.database.adoq5.SQL.Clear ;
data.database.adoq5.SQL.Add('select 商品编码,商品名称,类别,规格,型号,单位,sum(数量) as 数量,sum(金额) as 成本 from jhthd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'# group by 商品编码,商品名称,类别,规格,型号,单位');
data.database.adoq5.Active :=true;
if data.database.adoq5.Recordset.RecordCount >0 then
begin
data.database.datas4.DataSet :=data.database.adoq5;
dbgrid1.DataSource :=data.database.datas4;
statusbar1.Panels[1].Text :=inttostr(data.database.adoq5.Recordset.RecordCount );
dbgrid1.Columns[0].Width :=80;
dbgrid1.Columns[1].Width :=80;
dbgrid1.Columns[2].Width :=80;
dbgrid1.Columns[3].Width :=80;
dbgrid1.Columns[4].Width :=80;
dbgrid1.Columns[5].Width :=80;
dbgrid1.Columns[6].Width :=80;
data.database.adoq4.SQL.Clear ;
data.database.adoq4.SQL.Add('select sum(数量) as sl,sum(金额) as je1 from jhthd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'#');
data.database.adoq4.Active :=true;
statusbar1.Panels[3].Text :=floattostr(data.database.adoq4.Fields.Fields[0].AsFloat);
statusbar1.Panels[5].Text :=floattostr(data.database.adoq4.Fields.Fields[1].AsFloat);
end
else begin showmessage('没有进货退货信息!');radiobutton3.Checked :=false; end;
end;
end;
procedure Tcbhs_form.RadioButton4Click(Sender: TObject);
begin
with data.database do
begin
data.database.adoq4.Connection :=data.database.adoc;
data.database.adoq5.Connection :=data.database.adoc;
edit1.Text :=formatdatetime('MM-dd-yy',datetimepicker1.date);
edit2.Text :=formatdatetime('MM-dd-yy',datetimepicker2.date);
data.database.adoq5.SQL.Clear ;
data.database.adoq5.SQL.Add('select 商品编码,商品名称,类别,规格,型号,单位,sum(数量) as 数量,sum(金额) as 成本 from khthd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'# group by 商品编码,商品名称,类别,规格,型号,单位');
data.database.adoq5.Active :=true;
if data.database.adoq5.Recordset.RecordCount >0 then
begin
data.database.datas4.DataSet :=data.database.adoq5;
dbgrid1.DataSource :=data.database.datas4;
statusbar1.Panels[1].Text :=inttostr(data.database.adoq5.Recordset.RecordCount );
dbgrid1.Columns[0].Width :=80;
dbgrid1.Columns[1].Width :=80;
dbgrid1.Columns[2].Width :=80;
dbgrid1.Columns[3].Width :=80;
dbgrid1.Columns[4].Width :=80;
dbgrid1.Columns[5].Width :=80;
dbgrid1.Columns[6].Width :=80;
data.database.adoq4.SQL.Clear ;
data.database.adoq4.SQL.Add('select sum(数量) as sl,sum(金额) as je1 from khthd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'#');
data.database.adoq4.Active :=true;
statusbar1.Panels[3].Text :=floattostr(data.database.adoq4.Fields.Fields[0].AsFloat);
statusbar1.Panels[5].Text :=floattostr(data.database.adoq4.Fields.Fields[1].AsFloat);
end
else begin showmessage('没有客户退货信息!');radiobutton4.Checked :=false;end;
end;
end;
procedure Tcbhs_form.RadioButton5Click(Sender: TObject);
begin
with data.Database do
begin
data.Database.adoq4.Connection :=data.Database.adoc;
data.Database.adoq5.Connection :=data.Database.adoc;
edit1.Text :=formatdatetime('MM-dd-yy',datetimepicker1.date);
edit2.Text :=formatdatetime('MM-dd-yy',datetimepicker2.date);
data.Database.adoq5.SQL.Clear ;
data.Database.adoq5.SQL.Add('select 商品编码,商品名称,类别,规格,型号,单位,sum(库存数量) as 数量,sum(库存金额) as 成本,库存上限,库存下限 from kcb where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'# group by 商品编码,商品名称,类别,规格,型号,单位,库存上限,库存下限');
data.Database.adoq5.Active :=true;
if data.Database.adoq5.Recordset.RecordCount >0 then
begin
data.Database.datas4.DataSet :=data.Database.adoq5;
dbgrid1.DataSource :=data.Database.datas4;
statusbar1.Panels[1].Text :=inttostr(data.Database.adoq5.Recordset.RecordCount );
dbgrid1.Columns[0].Width :=80;
dbgrid1.Columns[1].Width :=80;
dbgrid1.Columns[2].Width :=80;
dbgrid1.Columns[3].Width :=80;
dbgrid1.Columns[4].Width :=80;
dbgrid1.Columns[5].Width :=80;
dbgrid1.Columns[6].Width :=80;
data.Database.adoq4.SQL.Clear ;
data.Database.adoq4.SQL.Add('select sum(库存数量) as sl,sum(库存金额) as je1 from kcb where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'#');
data.Database.adoq4.Active :=true;
statusbar1.Panels[3].Text :=floattostr(data.Database.adoq4.Fields.Fields[0].AsFloat);
statusbar1.Panels[5].Text :=floattostr(data.Database.adoq4.Fields.Fields[1].AsFloat);
end
else begin showmessage('没有库存,请导入库存信息!');radiobutton5.Checked :=false;end;
end;
end;
procedure Tcbhs_form.SpeedButton4Click(Sender: TObject);
var i:integer;
begin
with data.database do
begin
data.database.adoq1.Connection :=data.database.adoc;
data.database.adoq2.Connection :=data.database.adoc;
data.database.adoq1.SQL.Clear ;
data.database.adoq1.SQL.Add('delete from kcb');
data.database.adoq1.ExecSQL ;
data.database.adoq1.SQL.Clear ;
data.database.adoq1.SQL.Add('insert into kcb select 录单日期,类别,商品编码,商品名称,规格,型号,单位,sum(数量) as 库存数量,sum(金额) as 库存金额 from jhd group by 商品编码,录单日期,类别,商品名称,规格,型号,单位');
data.database.adoq1.ExecSQL ;
data.database.adoq1.SQL.Clear ;
data.database.adoq1.SQL.Add('insert into kcb select 录单日期,类别,商品编码,商品名称,规格,型号,单位,-sum(数量) as 库存数量,-sum(金额) as 库存金额 from jhthd group by 录单日期,类别,商品编码,商品名称,规格,型号,单位');
data.database.adoq1.ExecSQL ;
data.database.adoq1.SQL.Clear ;
data.database.adoq1.SQL.Add('insert into kcb select 录单日期,类别,商品编码,商品名称,规格,型号,单位,-sum(数量) as 库存数量,-sum(金额) as 库存金额 from xshd group by 录单日期,类别,商品编码,商品名称,规格,型号,单位');
data.database.adoq1.ExecSQL ;
data.database.adoq1.SQL.Clear ;
data.database.adoq1.SQL.Add('insert into kcb select 录单日期,类别,商品编码,商品名称,规格,型号,单位,sum(数量) as 库存数量,sum(金额) as 库存金额 from khthd group by 录单日期,类别,商品编码,商品名称,规格,型号,单位');
data.database.adoq1.ExecSQL ;
data.database.adoq1.SQL.Clear ;
data.database.adoq1.SQL.Add('select distinct kcb.商品编码 ,spzl.库存上限,spzl.库存下限 from kcb,spzl where kcb.商品编码 = spzl.商品编码');
data.database.adoq1.Active :=true;
if data.database.adoq1.Recordset.RecordCount >0 then
begin
for i:=0 to data.database.adoq1.Recordset.RecordCount do
begin
edit2.Text :=data.database.adoq1.Fields.Fields[0].AsString ;
edit3.text :=data.database.adoq1.Fields.Fields[1].AsVariant ;
edit4.text :=data.database.adoq1.Fields.Fields[2].AsVariant ;
data.database.adoq2.SQL.Clear ;
data.database.adoq2.SQL.Add('update kcb set 库存上限=:sx,库存下限=:xx where 商品编码=:bm');
data.database.adoq2.Parameters.ParamByName('bm').Value :=edit2.Text ;
data.database.adoq2.Parameters.ParamByName('sx').Value :=edit3.Text ;
data.database.adoq2.Parameters.ParamByName('xx').Value :=edit4.Text ;
data.database.adoq2.ExecSQL ;
if not data.database.adoq1.Recordset.EOF then data.database.adoq1.MoveBy(1);
end;
end
else
showmessage('库存及各个表中可能为空,请输入数据!');
data.database.adoq1.SQL.Clear ;
data.database.adoq1.SQL.Add('select 类别,商品编码,商品名称,规格,型号,单位,库存数量,库存金额,库存上限,库存下限 from kcb');
data.database.adoq1.Active :=true;
data.database.datas1.DataSet :=adoq1;
dbgrid1.DataSource :=data.database.datas1;
radiobutton1.Checked :=false;
radiobutton2.Checked :=false;
radiobutton3.Checked :=false;
dbgrid1.Columns[0].Width :=70;
dbgrid1.Columns[1].Width :=70;
dbgrid1.Columns[2].Width :=70;
dbgrid1.Columns[3].Width :=70;
dbgrid1.Columns[4].Width :=70;
dbgrid1.Columns[5].Width :=70;
dbgrid1.Columns[6].Width :=70;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -