⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kc_unit.pas

📁 delphi进销存管理系统 很不错得进销存管理系统 有很多skin得
💻 PAS
📖 第 1 页 / 共 2 页
字号:
{with database do
begin
//showmessage('为保证数据的最新,请先导入库存信息!');
adoq1.Connection :=adoc;
adoq1.SQL.Clear ;
adoq1.SQL.Add(' select 商品编码,商品名称,类别,规格,型号,单位,sum(库存数量) as 现有库存数量,sum(库存金额) as 现有库存金额 from kcb group by 商品编码,商品名称,类别,规格,型号,单位');
adoq1.Active :=true;
if adoq1.Recordset.RecordCount >0 then
begin
datas1.DataSet :=adoq1;
dbgrid1.DataSource :=datas1;
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 :=80;
dbgrid1.Columns[6].Width :=80;
end
else
showmessage('库中无信息,请先导入!');
end;}

end;

procedure Tkc_form.SpeedButton3Click(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;
//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;
    qrlabel10.Caption := '总数量';
    qrlabel11.Caption := statusbar1.Panels[3].Text;
    qrlabel12.Caption := '总金额';
    qrlabel13.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 Tkc_form.SpeedButton7Click(Sender: TObject);
var i: integer;
begin
  with database do
  begin
    adoq1.Connection := adoc;
    adoq2.Connection := adoc;
    adoq4.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 group by 商品编码,录单日期,类别,商品名称,规格,型号,单位');
    adoq1.ExecSQL;
    adoq1.SQL.Clear;
    adoq1.SQL.Add('insert into kcb select 录单日期,类别,商品编码,商品名称,规格,型号,单位,-sum(数量) as 库存数量,-sum(金额) as 库存金额 from jhthd  group by 录单日期,类别,商品编码,商品名称,规格,型号,单位');
    adoq1.ExecSQL;
    adoq1.SQL.Clear;
    adoq1.SQL.Add('insert into kcb select 录单日期,类别,商品编码,商品名称,规格,型号,单位,-sum(数量) as 库存数量,-sum(金额) as 库存金额 from xshd  group by 录单日期,类别,商品编码,商品名称,规格,型号,单位');
    adoq1.ExecSQL;
    adoq1.SQL.Clear;
    adoq1.SQL.Add('insert into kcb select 录单日期,类别,商品编码,商品名称,规格,型号,单位,sum(数量) as 库存数量,sum(金额) as 库存金额 from khthd  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
        edit5.Text := adoq1.Fields.Fields[0].AsString;
        edit6.text := adoq1.Fields.Fields[1].AsVariant;
        edit7.text := adoq1.Fields.Fields[2].AsVariant;
        adoq2.SQL.Clear;
        adoq2.SQL.Add('update kcb set 库存上限=:sx,库存下限=:xx where 商品编码=:bm');
        adoq2.Parameters.ParamByName('bm').Value := edit5.Text;
        adoq2.Parameters.ParamByName('sx').Value := edit6.Text;
        adoq2.Parameters.ParamByName('xx').Value := edit7.Text;
        adoq2.ExecSQL;
        if not adoq1.Recordset.EOF then adoq1.MoveBy(1);
      end;
    end
    else
      showmessage('库存及各个表中可能为空,请输入数据!');
    adoq1.SQL.Clear;
    adoq1.SQL.Add('select 类别,商品编码,商品名称,规格,型号,单位,库存数量,库存金额,库存上限,库存下限 from kcb');
    adoq1.Active := true;
    adoq4.SQL.Clear;
    adoq4.SQL.Add('select sum(库存数量) as sl,sum(库存金额) as je1 from kcb');
    adoq4.Active := true;
    statusbar2.Panels[1].Text := inttostr(adoq1.Recordset.RecordCount);
    statusbar2.Panels[3].Text := floattostr(adoq4.Fields.Fields[0].AsFloat);
    statusbar2.Panels[5].Text := floattostr(adoq4.Fields.Fields[1].AsFloat);
    datas1.DataSet := adoq1;
    dbgrid2.DataSource := datas1;
    dbgrid2.Columns[0].Width := 70;
    dbgrid2.Columns[1].Width := 70;
    dbgrid2.Columns[2].Width := 70;
    dbgrid2.Columns[3].Width := 70;
    dbgrid2.Columns[4].Width := 70;
    dbgrid2.Columns[5].Width := 70;
    dbgrid2.Columns[6].Width := 70;
    dbgrid2.Columns[7].Width := 80;
    dbgrid2.Columns[8].Width := 80;
    dbgrid2.Columns[9].Width := 80;
  end;
end;

procedure Tkc_form.SpeedButton2Click(Sender: TObject);
begin
//if length(edit1.Text)=0 then edit1.Text :='0';
  with database do
  begin
    adoq1.Connection := adoc;
    adoq1.SQL.Clear;
    case combobox3.ItemIndex of //combobox3开始
      0: begin
          case combobox4.ItemIndex of //combobox4开始
            0: begin adoq1.SQL.Add('select * from kcb where 商品编码=:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            1: begin adoq1.SQL.Add('select * from kcb where 商品编码>:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            2: begin adoq1.SQL.Add('select * from kcb where 商品编码<:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            3: begin adoq1.SQL.Add('select * from kcb where 商品编码 like :bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text + '%' end;
          end; //combobox4结束
        end; //combobox3(0)结束
      1: begin
          case combobox4.ItemIndex of //combobox4开始
            0: begin adoq1.SQL.Add('select * from kcb where 商品名称=:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            1: begin adoq1.SQL.Add('select * from kcb where 商品名称>:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            2: begin adoq1.SQL.Add('select * from kcb where 商品名称<:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            3: begin adoq1.SQL.Add('select * from kcb where 商品名称 like :bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text + '%' end;
          end; //combobox4结束
        end; //combobox3(1)结束
      2: begin
          case combobox4.ItemIndex of //combobox4开始
            0: begin adoq1.SQL.Add('select * from kcb where 规格=:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            1: begin adoq1.SQL.Add('select * from kcb where 规格>:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            2: begin adoq1.SQL.Add('select * from kcb where 规格<:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            3: begin adoq1.SQL.Add('select * from kcb where 规格 like :bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text + '%' end;
          end; //combobox4结束
        end; //combobox3(2)结束
      3: begin
          case combobox4.ItemIndex of //combobox4开始
            0: begin adoq1.SQL.Add('select * from kcb where 型号=:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            1: begin adoq1.SQL.Add('select * from kcb where 型号>:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            2: begin adoq1.SQL.Add('select * from kcb where 型号<:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            3: begin adoq1.SQL.Add('select * from kcb where 型号 like :bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text + '%' end;
          end; //combobox4结束
        end; //combobox3(3)结束
      4: begin
          case combobox4.ItemIndex of //combobox4开始
            0: begin adoq1.SQL.Add('select * from kcb where 单位=:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            1: begin adoq1.SQL.Add('select * from kcb where 单位>:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            2: begin adoq1.SQL.Add('select * from kcb where 单位<:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            3: begin adoq1.SQL.Add('select * from kcb where 单位 like :bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text + '%' end;
          end; //combobox4结束
        end; //combobox3(4)结束
      5: begin
          case combobox4.ItemIndex of //combobox4开始
            0: begin adoq1.SQL.Add('select * from kcb where 类别=:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            1: begin adoq1.SQL.Add('select * from kcb where 类别>:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            2: begin adoq1.SQL.Add('select * from kcb where 类别<:bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text end;
            3: begin adoq1.SQL.Add('select * from kcb where 类别 like :bm'); adoq1.Parameters.ParamByName('bm').Value := edit1.Text + '%' end;
          end; //combobox4结束
        end //combobox3(5)结束
    else adoq1.SQL.Add('select * from kcb');
    end; //combobox3结束
    adoq1.Active := true;
    if adoq1.Recordset.RecordCount > 0 then
    begin
      statusbar2.Panels[1].Text := inttostr(adoq1.Recordset.RecordCount);
//statusbar1.Panels[3].Text :=floattostr(adoq1.Fields.Fields[0].AsFloat);
//statusbar1.Panels[5].Text :=floattostr(adoq1.Fields.Fields[1].AsFloat);
      datas1.DataSet := adoq1;
      dbgrid2.DataSource := datas1;
      dbgrid2.Columns[0].Width := 70;
      dbgrid2.Columns[1].Width := 70;
      dbgrid2.Columns[2].Width := 70;
      dbgrid2.Columns[3].Width := 70;
      dbgrid2.Columns[4].Width := 70;
      dbgrid2.Columns[5].Width := 70;
      dbgrid2.Columns[6].Width := 70;
      dbgrid2.Columns[7].Width := 80;
      dbgrid2.Columns[8].Width := 80;
      dbgrid2.Columns[9].Width := 80;
    end
    else showmessage('没有此数据,尝试先导入数据或用别的方法查找!');
  end;
end;

procedure Tkc_form.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_return then
    speedbutton2click(nil);
end;

end.


//此源码由程序太平洋收集整理发布,任何人都可自由转载,但需保留本站信息
//╭⌒╮┅~ ¤ 欢迎光临程序太平洋╭⌒╮
//╭⌒╭⌒╮╭⌒╮~╭⌒╮  ︶  ,︶︶
//,︶︶︶︶,''︶~~ ,''~︶︶  ,''
//╔ ╱◥███◣═╬╬╬╬╬╬╬╬╬╗
//╬ ︱田︱田 田 ︱          ╬
//╬       http://www.5ivb.net ╬
//╬  ╭○╮●                     ╬
//╬  /■\/■\                    ╬
//╬   <| ||    有希望,就有成功! ╬
//╬                 ╬
//╚╬╬╬╬╬╬╬╬╬╬╗  ╔╬╬╬╬╝
//
//说明:
//专业提供VB、.NET、Delphi、ASP、PB源码下载
//包括:程序源码,控件,商业源码,系统方案,开发工具,书籍教程,技术文档

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -