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

📄 kccx1.pas

📁 delphi开发的委托加工管理系统源代码
💻 PAS
字号:
unit kccx1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExcelXP, OleServer, StdCtrls, Grids, DBGrids, Buttons, DB, ADODB,
  TFlatButtonUnit, TFlatEditUnit, TFlatComboBoxUnit, RzButton,
  scExcelExport, bsSkinShellCtrls, DBGridEh, FR_Class, FR_DSet, FR_DBSet,
  RzCmboBx, Mask, RzEdit, RzStatus, ExtCtrls, RzPanel;

type
  Tkccx = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    DataSource1: TDataSource;
    ADODataSet1: TADODataSet;
    Label1: TLabel;
    Label2: TLabel;
    ADOQuery1: TADOQuery;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    RzBitBtn3: TRzBitBtn;
    RzBitBtn4: TRzBitBtn;
    bsSkinSaveDialog1: TbsSkinSaveDialog;
    scExcelExport1: TscExcelExport;
    DBGridEh1: TDBGridEh;
    frDBDataSet1: TfrDBDataSet;
    frReport1: TfrReport;
    FlatComboBox1: TRzComboBox;
    FlatEdit1: TRzEdit;
    RzStatusBar1: TRzStatusBar;
    RzStatusPane1: TRzStatusPane;
    RzStatusPane2: TRzStatusPane;
    procedure FlatButton4Click(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure FlatComboBox1DropDown(Sender: TObject);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure RzBitBtn3Click(Sender: TObject);
    procedure RzBitBtn4Click(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
    procedure RzComboBox1DropDown(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  kccx: Tkccx;

implementation

uses adodm;

{$R *.dfm}


procedure Tkccx.FlatButton4Click(Sender: TObject);
begin
close
end;

procedure Tkccx.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if gdselected in state then//如果当前区域是被选区域
    begin
      //设置被选区域颜色
      tdbgrid(sender).Canvas.Brush.Color:=clinfobk;
      //设置被选区域字体颜色
      tdbgrid(sender).Canvas.Font.Color:=clfuchsia;
    end
  else //如果是当前区域不是被选择区域
    begin
     //如果是偶数行,则背景颜色为 clskyblue
     if tdbgrid(sender).DataSource.DataSet.RecNo mod 2 =0 then
        tdbgrid(sender).Canvas.Brush.Color:=clskyblue
     else
     //如果是奇数行,则背景颜色为 clinactivecaptiontext
        tdbgrid(sender).Canvas.Brush.Color:=clWhite;
    end;
  //调用默认的绘图函数
  tdbgrid(sender).DefaultDrawColumnCell(rect,datacol,column,state);

end;

procedure Tkccx.FlatComboBox1DropDown(Sender: TObject);
var
i:integer;
begin
flatcombobox1.clear;
adoquery1.Open;
if (adoquery1.RecordCount>0) then
adoquery1.First;
for i:=0 to adoquery1.RecordCount - 1 do
begin
flatcombobox1.Items.add(adoquery1.Fieldbyname('仓库名称').AsString);
adoquery1.Next;
end;
end;
procedure Tkccx.RzBitBtn1Click(Sender: TObject);
begin
dm.adoconnection1.Connected;
adodataset1.Active:=false;
dm.adock.SQL.Clear;
dm.adock.SQL.Add('update kcdata inner join wldata on kcdata.物料代码=wldata.物料代码 set kcdata.金额=kcdata.数量*wldata.单价');
dm.adock.ExecSQL;
if flatcombobox1.Text='' then
begin
adodataset1.CommandText:='select 物料代码,品名,sum(数量) as 库存数量,sum(金额) as 库存金额,库别 from kcdata group by 物料代码,品名,库别 order by 物料代码';
adodataset1.Active:=true;
DBGridEh1.Columns[0].Width :=150;
DBGridEh1.Columns[1].Width :=120;
DBGridEh1.Columns[2].Width :=80;
DBGridEh1.Columns[3].Width :=80;
DBGridEh1.Columns[4].Width :=120;
RzStatusPane1.Caption:='查询共有:'+inttostr(adodataset1.Recordset.RecordCount)+'  条记录';
end
else
begin
if (flatedit1.Text='') then
begin
adodataset1.CommandText:='select 物料代码,品名,sum(数量) as 库存数量,sum(金额) as 库存金额,库别 from kcdata group by 物料代码,品名,库别 order by 物料代码';
adodataset1.Active:=true;
DBGridEh1.Columns[0].Width :=150;
DBGridEh1.Columns[1].Width :=120;
DBGridEh1.Columns[2].Width :=80;
DBGridEh1.Columns[3].Width :=80;
DBGridEh1.Columns[4].Width :=120;
RzStatusPane1.Caption:='查询共有:'+inttostr(adodataset1.Recordset.RecordCount)+'  条记录';
end
else
begin
adodataset1.CommandText:='select 物料代码,品名,sum(数量) as 库存数量,sum(金额) as 库存金额,库别 from kcdata where 物料代码 like ''%'+trim(flatedit1.Text)+'%'' group by 物料代码,品名,库别';
adodataset1.Active:=true;
DBGridEh1.Columns[0].Width :=150;
DBGridEh1.Columns[1].Width :=120;
DBGridEh1.Columns[2].Width :=80;
DBGridEh1.Columns[3].Width :=80;
DBGridEh1.Columns[4].Width :=120;
RzStatusPane1.Caption:='查询共有:'+inttostr(adodataset1.Recordset.RecordCount)+'  条记录';
end;
end;
if flatcombobox1.Text<>'' then
begin
adodataset1.active:=false;
adodataset1.CommandText:='select 物料代码,品名,sum(数量) as 库存数量,sum(金额) as 库存金额,库别 from kcdata where 库别='''+trim(flatcombobox1.Text)+''' group by 物料代码,品名,库别 order by 物料代码';
adodataset1.Active:=true;
DBGridEh1.Columns[0].Width :=150;
DBGridEh1.Columns[1].Width :=120;
DBGridEh1.Columns[2].Width :=80;
DBGridEh1.Columns[3].Width :=80;
DBGridEh1.Columns[4].Width :=120;
RzStatusPane1.Caption:='查询共有:'+inttostr(adodataset1.Recordset.RecordCount)+'  条记录';
end
end;

procedure Tkccx.RzBitBtn3Click(Sender: TObject);
begin
close
end;

procedure Tkccx.RzBitBtn4Click(Sender: TObject);
begin
if adodataset1.IsEmpty=true then
showmessage('请先查询相应的数据')
else
begin
bsskinSaveDialog1 := TbsskinSaveDialog.Create(nil);
  bsskinSaveDialog1.Filter := 'Execl 文件(*.XLS)|*.XLS|Word 文件(*.doc)|*.doc|HTML 文件(*.HTM)|*.HTM|TXT 文件 (*.txt)|*.TXT';
if bsskinSaveDialog1.Execute then
begin
if fileexists(bsskinSaveDialog1.FileName) then
if application.MessageBox('目标文件已经存在,要覆盖吗?',pchar(application.Title),mb_yesno+mb_iconquestion) <> 6 then exit;
  try
    scExcelExport1.LoadDefaultProperties;
    scExcelExport1.ExcelVisible:=False;
    scExcelExport1.WorksheetName := 'sheet1';
    scExcelExport1.ExportDataset;
    scExcelExport1.SaveAs(bsskinSaveDialog1.FileName,ffXLS);
  finally
    scExcelExport1.Disconnect;
  showmessage('数据导出成功!'+bsskinSaveDialog1.FileName);
    end;
  end;
  end;
end;

procedure Tkccx.RzBitBtn2Click(Sender: TObject);
begin
if adodataset1.Recordset.RecordCount>0 then
begin
frreport1.LoadFromFile('report\kccx.frf');
//打印当前数据库
frreport1.ShowReport;
end
else
showmessage('请先执行查询')
end;

procedure Tkccx.RzComboBox1DropDown(Sender: TObject);
var
i:integer;
begin
flatcombobox1.clear;
adoquery1.Open;
if (adoquery1.RecordCount>0) then
adoquery1.First;
for i:=0 to adoquery1.RecordCount - 1 do
begin
flatcombobox1.Items.add(adoquery1.Fieldbyname('仓库名称').AsString);
adoquery1.Next;
end;
end;

end.

⌨️ 快捷键说明

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