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

📄 pfm_queryalltab.pas

📁 POS收银系统
💻 PAS
字号:
unit pfm_queryalltab;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Db, DBTables, Grids, DBGrids, ExtCtrls, Buttons, pvar_lib;

type
  Tfm_queryalltab = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    Splitter1: TSplitter;
    QryName: TQuery;
    Query1: TQuery;
    Query2: TQuery;
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure Query1AfterScroll(DataSet: TDataSet);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fm_queryalltab: Tfm_queryalltab;

implementation

uses pfm_selecttable, pfm_query;
var
gridcolname,gridcolname1:TStringlist;
strtable1:string;
strtable2:string;
{$R *.DFM}

procedure Tfm_queryalltab.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    gridcolname.free;
    gridcolname1.free;
    action:=cafree;
end;

procedure Tfm_queryalltab.FormCreate(Sender: TObject);
var
i:integer;
tbname:string;
begin
    try
        fm_selecttable:=Tfm_selecttable.create(self);
        if fm_selecttable.showmodal<>IdOK then
        begin
            fm_selecttable.free;
            close;
            exit;
        end;
    except
         fm_selecttable.free;
           close;
           exit;
    end;
    case fm_selecttable.mselindex of
      0://进货入库单');
        begin
        strtable1:='tb_jhd';
        strtable2:='tb_jhdmx';
        tbname:='进货单';
        end;
      1://提货出库单');
        begin
        strtable1:='tb_thd';
        strtable2:='tb_thdmx';
        tbname:='提货单';
        end;
      2://批发单');
        begin
        strtable1:='tb_pfd';
        strtable2:='tb_pfdmx';
        tbname:='批发单';
        end;
      3://赠品单');
        begin
        strtable1:='tb_zengpind';
        strtable2:='tb_zengpindmx';
        tbname:='赠品单';
        end;
      {4://客户退货单');
        begin
        strtable1:='tb_tuihuod';
        strtable2:='tb_tuihuodmx';
        end;}
      4://商品退货单');
        begin
        strtable1:='tb_sptuihuod';
        strtable2:='tb_sptuihuodmx';
        tbname:='退货单';
        end;
      5://门店退仓单');
        begin
        strtable1:='tb_mdtcd';
        strtable2:='tb_mdtcdmx';
        tbname:='门店退仓单';
        end;
      6://损溢单');
        begin
        strtable1:='tb_syd';
        strtable2:='tb_sydmx';
        tbname:='损溢单';
        end;
      7://调价单');
      begin
        strtable1:='tb_tjd';
        strtable2:='tb_tjdmx';
        tbname:='调价单';
      end;
    end;
    caption:=fm_selecttable.LBox1.Items[fm_selecttable.mselindex];
    GridColName:=TStringlist.create;
    QryName.Active:=false;
    qryname.sql.clear;
    qryname.sql.add('select * from tab_chinesename where tablename='''+strtable1+'''');
    qryname.active:=true;
    while not qryname.eof do
    begin
        gridcolname.add(qryname.fieldbyname('englishname').asstring+'='+
                    qryname.fieldbyname('chinesename').asstring);
        qryname.next;
    end;
    GridColName1:=TStringlist.create;
    QryName.Active:=false;
    qryname.sql.clear;
    qryname.sql.add('select * from tab_chinesename where tablename='''+strtable2+'''');
    qryname.active:=true;
    while not qryname.eof do
    begin
        gridcolname1.add(qryname.fieldbyname('englishname').asstring+'='+
                    qryname.fieldbyname('chinesename').asstring);
        qryname.next;
    end;
    gridcolname1.add('spmc=商品名称');
    qryname.active:=false;
    query2.active:=false;
    query1.active:=false;
    query1.sql.clear;
    query2.sql.clear;
    query1.sql.add('select * from '+strtable1);
    query2.sql.add('select * from '+strtable2+' where lsh=:lsh');
    query2.dataSource:=DataSource1;
    BitBtn2.caption:=tbname+'明细查询';
    BitBtn1.caption:=tbname+'查询';
    groupbox1.Caption:='【'+tbname+'】流水号';
    groupbox2.Caption:='【'+tbname+'】明细';
    query1.active:=true;
    query2.active:=true;
    for i:=0 to dbgrid1.columns.count-1 do
    begin
        dbgrid1.columns[i].Title.caption:=GridColName.values[dbgrid1.columns[i].Title.caption];
    end;
    for i:=0 to dbgrid2.columns.count-1 do
    begin
        dbgrid2.columns[i].Title.caption:=GridColName1.values[dbgrid2.columns[i].Title.caption];
    end;
    fm_selecttable.free;
end;
procedure Tfm_queryalltab.Query1AfterScroll(DataSet: TDataSet);
var
i:integer;
begin
    for i:=0 to dbgrid2.columns.count-1 do
    begin
        dbgrid2.columns[i].Title.caption:=GridColName1.values[dbgrid2.columns[i].Title.caption];
    end;
end;

procedure Tfm_queryalltab.BitBtn1Click(Sender: TObject);
var
i:integer;
begin
    for i:=0 to dbgrid1.Columns.Count-1 do
    begin
        mFieldCap[i]:=dbGrid1.Columns[i].Title.Caption;
        mFieldName[i]:=dbGrid1.Columns[i].fieldname;
        mFieldType[i]:=dbGrid1.Columns[i].Field.datatype;
        mFieldNum:=i;
    end;

    fm_query:=Tfm_query.Create(self);
    if fm_query.ShowModal=mrOK then
    begin
        query2.active:=false;
        query1.active:=false;
        query1.sql.clear;
        query2.sql.clear;
        query1.sql.add('select * from '+strtable1+' where '+sQuerySql);
        query2.sql.add('select * from '+strtable2+' where lsh=:lsh');
        query2.dataSource:=DataSource1;
        query1.active:=true;
        query2.active:=true;
        for i:=0 to dbgrid1.columns.count-1 do
    begin
        dbgrid1.columns[i].Title.caption:=GridColName.values[dbgrid1.columns[i].Title.caption];
    end;
    for i:=0 to dbgrid2.columns.count-1 do
    begin
        dbgrid2.columns[i].Title.caption:=GridColName1.values[dbgrid2.columns[i].Title.caption];
    end;
    end;


end;

procedure Tfm_queryalltab.BitBtn2Click(Sender: TObject);
var
i:integer;
begin
    for i:=0 to dbgrid2.Columns.Count-1 do
    begin
        mFieldCap[i]:=dbGrid2.Columns[i].Title.Caption;
        mFieldName[i]:=dbGrid2.Columns[i].fieldname;
        mFieldType[i]:=dbGrid2.Columns[i].Field.datatype;
        mFieldNum:=i;
    end;

    fm_query:=Tfm_query.Create(self);
    if fm_query.ShowModal=mrOK then
    begin
        query2.active:=false;
        query2.sql.clear;
        query2.sql.add('select * from '+strtable2+' where lsh=:lsh and '+sQuerySql);
        query2.dataSource:=DataSource1;
        query2.active:=true;
    for i:=0 to dbgrid2.columns.count-1 do
    begin
        dbgrid2.columns[i].Title.caption:=GridColName1.values[dbgrid2.columns[i].Title.caption];
    end;
    end;

end;

end.

⌨️ 快捷键说明

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