📄 pfm_queryalltab.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 + -