datamodule.pas

来自「一个仓库管理中的子系统--采购子系统」· PAS 代码 · 共 228 行

PAS
228
字号
unit Datamodule;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBTables, Db;



type
  TDataModule1 = class(TDataModule)
    sqzbDS: TDataSource;
    sqzbQuery: TQuery;
    Dbase709: TDatabase;
    sqxbDS: TDataSource;
    sqxbQuery: TQuery;
    cgsqzbTable: TTable;
    cgsqxbTable: TTable;
    PublicQuery1: TQuery;
    hzglTable: TTable;
    publicQuery2: TQuery;
    ssjhzbTable: TTable;
    ssjhxbTable: TTable;
    publicQuery3: TQuery;
    hzglDS: TDataSource;
    hzglQuery: TQuery;
    bhgsqzbTable: TTable;
    bhgsqxbTable: TTable;
    qrssbQuery: TQuery;
    qrssbDS: TDataSource;
    ssbxbDS: TDataSource;
    ssbxbQuery: TQuery;
    bhgsqbQuery: TQuery;
    bhgsqbDS: TDataSource;
    wzdmQuery: TQuery;
    wzdmDS: TDataSource;
    Query3: TQuery;
    htglzbDS: TDataSource;
    htglxbDS: TDataSource;
    htglzbQuery: TQuery;
    htglxbQuery: TQuery;
    hzglTableSQBID: TStringField;
    hzglTableCPBH: TStringField;
    hzglTableRWMC: TStringField;
    hzglTableYXNX: TStringField;
    hzglTableLSH: TStringField;
    hzglTableCPMC: TStringField;
    hzglTableXHGG: TStringField;
    hzglTableSLDW: TStringField;
    hzglTableSBSL: TFloatField;
    hzglTableSBRQ: TStringField;
    hzglTableKCSL: TFloatField;
    hzglTableSXSL: TFloatField;
    hzglTableGJJE: TFloatField;
    hzglTableSCCJ: TStringField;
    hzglTableSJCGSCCJ: TStringField;
    hzglTableSJYQ: TStringField;
    hzglTableYCDHSJ: TStringField;
    hzglTableYBJSL: TFloatField;
    hzglTableBJSJ: TStringField;
    hzglTableCGSLHS: TFloatField;
    hzglTableBJBHGSL: TFloatField;
    hzglTableBJHGSJ: TStringField;
    hzglTableBJHGSL: TFloatField;
    hzglTableXQDW: TStringField;
    hzglTableBZR: TStringField;
    hzglTableBZRQ: TStringField;
    hzglTableSHR: TStringField;
    hzglTableSHRQ: TStringField;
    hzglTablePZR: TStringField;
    hzglTablePZRQ: TStringField;
    hzglTableCGFS: TStringField;
    hzglTableHG_FLAG: TStringField;
    hzglTableYSFS: TStringField;
    hzglTableJHY: TStringField;
    hzglTableQT: TStringField;
    hzglTableBZ: TStringField;
    hzglTableYSBX1: TStringField;
    procedure sqzbQueryAfterScroll(DataSet: TDataSet);
    procedure wzdmQueryAfterScroll(DataSet: TDataSet);
    procedure htglzbQueryAfterScroll(DataSet: TDataSet);
    procedure hzglQueryAfterOpen(DataSet: TDataSet);
    procedure sqzbQueryAfterOpen(DataSet: TDataSet);
    procedure sqxbQueryAfterOpen(DataSet: TDataSet);
    procedure ssbxbQueryAfterOpen(DataSet: TDataSet);
    procedure bhgsqbQueryAfterOpen(DataSet: TDataSet);
    procedure qrssbQueryAfterOpen(DataSet: TDataSet);
  private
    { Private declarations }
  public
  set_flag:integer;
    { Public declarations }
  end;

var
  DataModule1: TDataModule1;


implementation

uses sqquery, cpxxcxsz, cghzbcx, ssbcx, ssbqr, jhyxxcx;

{$R *.DFM}


procedure TDataModule1.sqzbQueryAfterScroll(DataSet: TDataSet);
var Recordsqbid:string;
begin
     Recordsqbid:=datamodule1.sqzbQuery.FieldByName('表单代号').asstring;
     sqcxForm.writeTablehead;
     with datamodule1.sqxbQuery do
     begin
     close;
     sql.Clear;
     sql.Add('select jhy,cpbh as 产品编号,cpmc as 产品名称,xhgg as 型号规格,jldw as 计量单位,sbsl as 申请数量,sccj as 生产厂家,gjje as 估计金额,yyhrw as 用于何任务,sjyq as 时间要求,bz as 备注 from dbo.a_cgsqxb');
     sql.Add('where sqbid='+''''+Recordsqbid+'''');
     open;
     FieldByName('jhy').Visible:=False;
     end;
     with datamodule1.PublicQuery1 do
     begin
     sql.Clear;
     sql.add('select * From dbo.a_cgsqzb');
     sql.Add('where sqbid<='+''''+Recordsqbid+'''');
     prepare;
     open;
     sqcxForm.sqbNumLabel.Caption:=IntToStr(RecordCount);
     close;
     end;
end;

procedure TDataModule1.wzdmQueryAfterScroll(DataSet: TDataSet);
begin
    with wzxxcxForm.stringGrid1 do
    begin
    cells[0,0]:=wzdmQuery.FieldByName('物资编号').asstring;
    cells[1,0]:=wzdmQuery.FieldByName('物资名称').asstring;
    cells[2,0]:=wzdmQuery.FieldByName('型号规格').asstring;
    end;
    with wzxxcxForm do
    begin
    cpbhstr:=stringGrid1.Cells[0,0];
    cpmcstr:=stringGrid1.Cells[1,0];
    xhggstr:=stringGrid1.cells[2,0];
    end;
end;

procedure TDataModule1.htglzbQueryAfterScroll(DataSet: TDataSet);
begin
    with datamodule1.htglxbQuery do
    begin
    sql.Clear;
    sql.Add('select hth as 合同号,cpmc as 产品名称,xhgg as 型号规格,sldw as 数量单位,dj as 单价,dhsl as 订货数量,fkfs as 付款方式,dhsj as 到货时间,bz as 备注 from dbo.a_htglxb');
    sql.Add('where hth='+''''+datamodule1.htglzbQuery.fieldByName('合同号').asstring+'''');
    prepare;
    open;
    end;
end;

procedure TDataModule1.hzglQueryAfterOpen(DataSet: TDataSet);
var I:Integer;
gridColwidth : Array [0..34] of integer;
begin
    For I:=0 to CghzbForm.DBGrid1.FieldCount-1 do
    if (I=5) or (I=6) or (I=13) or (I=14) or (I=33) or (I=34) then
    GridColWidth[I]:=100
    else
    GridColWidth[I]:=60;
    For I:=0 to CghzbForm.DBGrid1.FieldCount-1 do
    cghzbForm.DBGrid1.Columns.Items[I].Width:=GridColWidth[I];
end;

procedure TDataModule1.sqzbQueryAfterOpen(DataSet: TDataSet);
var I:Integer;
//gridColwidth : Array [0..34] of integer;
begin
    //For I:=0 to CghzbForm.DBGrid1.FieldCount-1 do
    //if (I=5) or (I=6) or (I=13) or (I=14) or (I=33) or (I=34) then
    //GridColWidth[I]:=100
    //else
    //GridColWidth[I]:=60;
    For I:=0 to sqcxform.DBGrid1.FieldCount-1 do
    sqcxForm.DBGrid1.Columns.Items[I].Width:=60;
end;

procedure TDataModule1.sqxbQueryAfterOpen(DataSet: TDataSet);
var I:Integer;
begin
    if  set_flag=1 then
    For I:=0 to sqcxform.DBGrid2.FieldCount-1 do
    sqcxForm.DBGrid2.Columns.Items[I].Width:=60
    else if set_flag=2 then
    For I:=0 to jhycxForm.DBGrid1.FieldCount-1 do
    jhycxForm.DBGrid1.Columns.Items[I].Width:=60;
end;

procedure TDataModule1.ssbxbQueryAfterOpen(DataSet: TDataSet);
var I:Integer;
begin
    if set_flag=1 then
    For I:=0 to ssbcxForm.DBGrid1.FieldCount-1 do
    ssbcxForm.DBGrid1.Columns.Items[I].Width:=60
    else if set_flag=2 then
    For I:=0 to jhycxForm.DBGrid2.FieldCount-1 do
    jhycxForm.DBGrid2.Columns.Items[I].Width:=60;
end;

procedure TDataModule1.bhgsqbQueryAfterOpen(DataSet: TDataSet);
var I:Integer;
begin
    if set_flag=1 then
    For I:=0 to ssbcxForm.DBGrid2.FieldCount-1 do
    ssbcxForm.DBGrid2.Columns.Items[I].Width:=60
    else if set_flag=2 then
    For I:=0 to jhycxForm.DBGrid3.FieldCount-1 do
    jhycxForm.DBGrid3.Columns.Items[I].Width:=60;
end;

procedure TDataModule1.qrssbQueryAfterOpen(DataSet: TDataSet);
var I:Integer;
begin
    For I:=0 to ssbqrForm.DBGrid1.FieldCount-1 do
    ssbqrForm.DBGrid1.Columns.Items[I].Width:=60;
end;

end.

⌨️ 快捷键说明

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