📄 cbhc_unit.~pas
字号:
dbgrid1.DataSource :=datas4;
statusbar1.Panels[1].Text :=inttostr(adoq5.Recordset.RecordCount );
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;
adoq4.SQL.Clear ;
adoq4.SQL.Add('select sum(数量) as sl,sum(金额) as je1 from khthd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'#');
adoq4.Active :=true;
statusbar1.Panels[3].Text :=floattostr(adoq4.Fields.Fields[0].AsFloat);
statusbar1.Panels[5].Text :=floattostr(adoq4.Fields.Fields[1].AsFloat);
end
else begin showmessage('没有客户退货信息!');radiobutton4.Checked :=false;end;
end;
end;
procedure Tcbhc_form.RadioButton5Click(Sender: TObject);
begin
with database do
begin
adoq4.Connection :=adoc;
adoq5.Connection :=adoc;
edit1.Text :=formatdatetime('MM-dd-yy',datetimepicker1.date);
edit2.Text :=formatdatetime('MM-dd-yy',datetimepicker2.date);
adoq5.SQL.Clear ;
adoq5.SQL.Add('select 商品编码,商品名称,类别,规格,型号,单位,sum(库存数量) as 数量,sum(库存金额) as 成本,库存上限,库存下限 from kcb where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'# group by 商品编码,商品名称,类别,规格,型号,单位,库存上限,库存下限');
adoq5.Active :=true;
if adoq5.Recordset.RecordCount >0 then
begin
datas4.DataSet :=adoq5;
dbgrid1.DataSource :=datas4;
statusbar1.Panels[1].Text :=inttostr(adoq5.Recordset.RecordCount );
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;
adoq4.SQL.Clear ;
adoq4.SQL.Add('select sum(库存数量) as sl,sum(库存金额) as je1 from kcb where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'#');
adoq4.Active :=true;
statusbar1.Panels[3].Text :=floattostr(adoq4.Fields.Fields[0].AsFloat);
statusbar1.Panels[5].Text :=floattostr(adoq4.Fields.Fields[1].AsFloat);
end
else begin showmessage('没有库存,请导入库存信息!');radiobutton5.Checked :=false;end;
end;
end;
procedure Tcbhc_form.SpeedButton4Click(Sender: TObject);
var i:integer;
begin
with database do
begin
adoq1.Connection :=adoc;
adoq2.Connection :=adoc;
adoq1.SQL.Clear ;
adoq1.SQL.Add('delete from kcb');
adoq1.ExecSQL ;
adoq1.SQL.Clear ;
adoq1.SQL.Add('insert into kcb select 录单日期,类别,商品编码,商品名称,规格,型号,单位,sum(数量) as 库存数量,sum(金额) as 库存金额 from jhd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'# group by 商品编码,录单日期,类别,商品名称,规格,型号,单位');
adoq1.ExecSQL ;
adoq1.SQL.Clear ;
adoq1.SQL.Add('insert into kcb select 录单日期,类别,商品编码,商品名称,规格,型号,单位,-sum(数量) as 库存数量,-sum(金额) as 库存金额 from jhthd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'# group by 录单日期,类别,商品编码,商品名称,规格,型号,单位');
adoq1.ExecSQL ;
adoq1.SQL.Clear ;
adoq1.SQL.Add('insert into kcb select 录单日期,类别,商品编码,商品名称,规格,型号,单位,-sum(数量) as 库存数量,-sum(金额) as 库存金额 from xshd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'# group by 录单日期,类别,商品编码,商品名称,规格,型号,单位');
adoq1.ExecSQL ;
adoq1.SQL.Clear ;
adoq1.SQL.Add('insert into kcb select 录单日期,类别,商品编码,商品名称,规格,型号,单位,sum(数量) as 库存数量,sum(金额) as 库存金额 from khthd where 录单日期 between #'+edit1.text+ '# and #' +edit2.text+'# group by 录单日期,类别,商品编码,商品名称,规格,型号,单位');
adoq1.ExecSQL ;
adoq1.SQL.Clear ;
adoq1.SQL.Add('select distinct kcb.商品编码 ,spzl.库存上限,spzl.库存下限 from kcb,spzl where kcb.商品编码 = spzl.商品编码');
adoq1.Active :=true;
if adoq1.Recordset.RecordCount >0 then
begin
for i:=0 to adoq1.Recordset.RecordCount do
begin
edit3.Text :=adoq1.Fields.Fields[0].AsString ;
edit4.text :=adoq1.Fields.Fields[1].AsVariant ;
edit5.text :=adoq1.Fields.Fields[2].AsVariant ;
adoq2.SQL.Clear ;
adoq2.SQL.Add('update kcb set 库存上限=:sx,库存下限=:xx where 商品编码=:bm');
adoq2.Parameters.ParamByName('bm').Value :=edit3.Text ;
adoq2.Parameters.ParamByName('sx').Value :=edit4.Text ;
adoq2.Parameters.ParamByName('xx').Value :=edit5.Text ;
adoq2.ExecSQL ;
if not adoq1.Recordset.EOF then adoq1.MoveBy(1);
end;
end
else
showmessage('库存及各个表中可能为空,请输入数据!');
end;
end;
//end;
procedure Tcbhc_form.SpeedButton1Click(Sender: TObject);
begin
edit6.Text :=formatdatetime('MM-dd-yy',datetimepicker3.date);
edit7.Text :=formatdatetime('MM-dd-yy',datetimepicker4.date);
end;
{with database do
begin
adoq1.Connection :=adoc;
adoq2.Connection :=adoc;
adoq1.SQL.Clear ;
adoq1.SQL.Add('delete from mlr');
adoq1.ExecSQL ;
adoq1.SQL.Clear ;
adoq1.SQL.Add('SELECT -sum(jhd.金额) as jhje FROM jhd INNER JOIN xshd ON jhd.编号 =xshd.编号');
//adoq1.Active :=true;
//adoq2.SQL.Clear ;
//adoq2.SQL.Add('select * from mlr');
//adoq2.Active :=true;
datas2.DataSet :=adoq1;
dbgrid2.DataSource :=datas2; }
{adoq1.SQL.Clear ;
adoq1.SQL.Add('select -sum(金额) as jhje from jhd where 录单日期 between #'+edit6.text+'# and #'+edit7.text+'# ');
adoq1.Active :=true;
if adoq1.Recordset.RecordCount >0 then
begin
edit9.Text :=floattostr(adoq1.Fields.Fields[0].AsFloat);
adoq2.SQL.clear;
adoq2.SQL.Add('insert into mlr(表名,总金额) values(:bm,:zje)');
adoq2.Parameters.ParamByName('bm').Value :='进货单';
adoq2.Parameters.ParamByName ('zje').Value :=adoq1.Fields.Fields[0].AsFloat;
adoq2.ExecSQL ;
end;
adoq1.SQL.Clear ;
adoq1.SQL.Add('select sum(金额) as jhje from jhthd where 录单日期 between #'+edit6.text+'# and #'+edit7.text+'# ');
adoq1.Active :=true;
if adoq1.Recordset.RecordCount >0 then
begin
edit10.Text :=floattostr(adoq1.Fields.Fields[0].AsFloat);
adoq2.sql.clear;
adoq2.SQL.Add('insert into mlr(表名,总金额) values(:bm1,:zje1)');
adoq2.Parameters.ParamByName('bm1').Value :='进货退货单';
adoq2.Parameters.ParamByName ('zje1').Value :=adoq1.Fields.Fields[0].AsFloat;
adoq2.ExecSQL ;
end;
adoq1.SQL.Clear ;
adoq1.SQL.Add('select sum(金额) as jhje from xshd where 录单日期 between #'+edit6.text+'# and #'+edit7.text+'# ');
adoq1.Active :=true;
if adoq1.Recordset.RecordCount >0 then
begin
edit11.Text :=floattostr(adoq1.Fields.Fields[0].AsFloat);
adoq2.sql.clear;
adoq2.SQL.Add('insert into mlr(表名,总金额) values(:bm,:zje)');
adoq2.Parameters.ParamByName('bm').Value :='销售单';
adoq2.Parameters.ParamByName ('zje').Value :=adoq1.Fields.Fields[0].AsFloat;
adoq2.ExecSQL ;
end;
adoq1.SQL.Clear ;
adoq1.SQL.Add('select -sum(金额) as jhje from khthd where 录单日期 between #'+edit6.text+'# and #'+edit7.text+'# ');
adoq1.Active :=true;
if adoq1.Recordset.RecordCount >0 then
begin
edit12.Text :=floattostr(adoq1.Fields.Fields[0].AsFloat);
adoq2.sql.clear;
adoq2.SQL.Add('insert into mlr(表名,总金额) values(:bm,:zje)');
adoq2.Parameters.ParamByName('bm').Value :='客户退货单';
adoq2.Parameters.ParamByName ('zje').Value :=adoq1.Fields.Fields[0].AsFloat;
adoq2.ExecSQL ;
end;
adoq2.sql.clear;
adoq2.SQL.Add('insert into mlr(表名,总金额) values(:bm,:zje)');
adoq2.Parameters.ParamByName('bm').Value :='其它费用';
if length(edit8.Text)=0 then edit8.Text:='0';
adoq2.Parameters.ParamByName ('zje').Value :=strtofloat(edit8.text);
adoq2.ExecSQL ;
//edit13.Text :=floattostr(strtofloat());
adoq2.SQL.Clear ;
adoq2.SQL.Add('select * from mlr');
adoq2.Active :=true;
datas2.DataSet :=adoq2;
dbgrid2.DataSource :=datas2;}
//end;
procedure Tcbhc_form.SpeedButton2Click(Sender: TObject);
begin
if dbgrid1.DataSource.DataSet.RecordCount >0 then
begin
qrlabel18.Caption :=datetostr(datetimepicker1.date);
qrlabel20.Caption :=datetostr(datetimepicker2.date);
dbgrid1.Columns.Clear ;
QRLabel10.Caption :='';
qrlabel11.caption :='';
qrdbtext9.DataSet :=nil;
qrdbtext10.DataSet:=nil;
if radiobutton1.Checked then qrlabel1.Caption :='进货成本统计表';
if radiobutton2.Checked then qrlabel1.Caption :='销售成本统计表';
if radiobutton3.Checked then qrlabel1.Caption :='进货退货成本统计表';
if radiobutton4.Checked then qrlabel1.Caption :='客户退货成本统计表';
rep1.DataSet :=dbgrid1.DataSource.DataSet ;
qrlabel2.Caption :=dbgrid1.Columns[0].FieldName;
qrdbtext1.DataSet :=dbgrid1.DataSource.DataSet ;
qrdbtext1.DataField :=dbgrid1.Columns[0].FieldName;
qrlabel3.Caption :=dbgrid1.Columns[1].FieldName;
qrdbtext2.DataSet :=dbgrid1.DataSource.DataSet ;
qrdbtext2.DataField :=dbgrid1.Columns[1].FieldName;
qrlabel4.Caption :=dbgrid1.Columns[2].FieldName;
qrdbtext3.DataSet :=dbgrid1.DataSource.DataSet ;
qrdbtext3.DataField :=dbgrid1.Columns[2].FieldName;
qrlabel5.Caption :=dbgrid1.Columns[3].FieldName;
qrdbtext4.DataSet :=dbgrid1.DataSource.DataSet ;
qrdbtext4.DataField :=dbgrid1.Columns[3].FieldName;
qrlabel6.Caption :=dbgrid1.Columns[4].FieldName;
qrdbtext5.DataSet :=dbgrid1.DataSource.DataSet ;
qrdbtext5.DataField :=dbgrid1.Columns[4].FieldName;
qrlabel7.Caption :=dbgrid1.Columns[5].FieldName;
qrdbtext6.DataSet :=dbgrid1.DataSource.DataSet ;
qrdbtext6.DataField :=dbgrid1.Columns[5].FieldName;
qrlabel8.Caption :=dbgrid1.Columns[6].FieldName;
qrdbtext7.DataSet :=dbgrid1.DataSource.DataSet ;
qrdbtext7.DataField :=dbgrid1.Columns[6].FieldName;
qrlabel9.Caption :=dbgrid1.Columns[7].FieldName;
qrdbtext8.DataSet :=dbgrid1.DataSource.DataSet ;
qrdbtext8.DataField :=dbgrid1.Columns[7].FieldName;
qrlabel12.Caption :='总数量';
qrlabel13.Caption :=statusbar1.Panels[3].Text;
qrlabel14.Caption :='总金额';
qrlabel15.Caption :=statusbar1.Panels[5].Text;
if radiobutton5.Checked then
begin
qrlabel1.Caption :='库存成本统计表';
qrlabel10.Visible :=true;
qrdbtext9.Visible :=true;
qrlabel11.Visible :=true;
qrdbtext10.Visible :=true;
qrlabel10.Caption :=dbgrid1.Columns[8].FieldName;
qrdbtext9.DataSet :=dbgrid1.DataSource.DataSet ;
qrdbtext9.DataField :=dbgrid1.Columns[8].FieldName;
qrlabel11.Caption :=dbgrid1.Columns[9].FieldName;
qrdbtext10.DataSet :=dbgrid1.DataSource.DataSet ;
qrdbtext10.DataField :=dbgrid1.Columns[9].FieldName;
end
else
begin
qrlabel10.Visible :=false;
dbgrid1.Columns.Clear ;
qrdbtext9.Visible :=false;
qrlabel11.Visible :=false;
qrdbtext10.Visible :=false;
dbgrid1.Columns.Clear ;
end;
rep1.Preview ;
end;
end;
procedure Tcbhc_form.SpeedButton8Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -