📄 spdacx.pas
字号:
unit spdacx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
dxPSCore, dxPSdxTLLnk, dxPSdxDBCtrlLnk, dxPSdxDBGrLnk, Db, ADODB,
dxDBCtrl, dxDBGrid, dxTL, dxDBTLCl, dxGrClms, dxCntner, ComCtrls,
StdCtrls, ExtCtrls, dxDBTL, UPTFrame, UPTSplitter;
type
Tcxspda = class(TForm)
Panel1: TPanel;
Label2: TLabel;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
ADOQuery1code: TStringField;
ADOQuery1name: TStringField;
ADOQuery1jldw: TStringField;
ADOQuery1bzgg: TBCDField;
ADOQuery1barcode: TStringField;
ADOQuery1lsj: TBCDField;
ADOQuery1hyj: TBCDField;
ADOQuery1lbid: TIntegerField;
ADOQuery1lbname: TStringField;
ADOQuery1ghscode: TStringField;
ADOQuery1ghsname: TStringField;
Label1: TLabel;
Edit1: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
PTSplitter1: TPTSplitter;
PTSplitter1_pane1: TPTPane;
PTSplitter1_pane2: TPTPane;
dxDBGrid1: TdxDBGrid;
Table1: TADOTable;
Table1lbid: TIntegerField;
Table1lbname: TStringField;
Table1sjlbid: TIntegerField;
DataSource2: TDataSource;
dxDBTreeList1: TdxDBTreeList;
dxDBTreeListMaskColumn1: TdxDBTreeListMaskColumn;
dxDBTreeListMaskColumn2: TdxDBTreeListMaskColumn;
dxDBTreeListMaskColumn3: TdxDBTreeListMaskColumn;
dxDBGrid1code: TdxDBGridMaskColumn;
dxDBGrid1name: TdxDBGridMaskColumn;
dxDBGrid1jldw: TdxDBGridMaskColumn;
dxDBGrid1bzgg: TdxDBGridMaskColumn;
dxDBGrid1barcode: TdxDBGridMaskColumn;
dxDBGrid1lsj: TdxDBGridMaskColumn;
dxDBGrid1hyj: TdxDBGridMaskColumn;
dxDBGrid1lbname: TdxDBGridMaskColumn;
dxDBGrid1ghscode: TdxDBGridMaskColumn;
dxDBGrid1ghsname: TdxDBGridMaskColumn;
dxComponentPrinter1: TdxComponentPrinter;
dxComponentPrinter1Link1: TdxDBGridReportLink;
ListBox1: TListBox;
ListBox2: TListBox;
ADOQuery2: TADOQuery;
Button3: TButton;
Label5: TLabel;
Edit5: TEdit;
ADOQuery1cxj: TBCDField;
dxDBGrid1Column11: TdxDBGridMaskColumn;
ADOQuery1jhj: TBCDField;
ADOQuery1wsjj: TBCDField;
dxDBGrid1Column12: TdxDBGridMaskColumn;
dxDBGrid1Column13: TdxDBGridMaskColumn;
ADOQuery1pfj: TBCDField;
dxDBGrid1Column14: TdxDBGridMaskColumn;
SaveDialog1: TSaveDialog;
Button4: TButton;
ADOQuery1bz: TStringField;
dxDBGrid1Column15: TdxDBGridMaskColumn;
Button5: TButton;
ADOQuery1pybm: TStringField;
ADOQuery1cd: TStringField;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure dxDBTreeList1Click(Sender: TObject);
procedure SELECTLB(LBCODE: string);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
cxspda: Tcxspda;
implementation
uses MainForm1, spda1, spjqdy1;
{$R *.DFM}
procedure Tcxspda.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cafree;
end;
procedure Tcxspda.Button1Click(Sender: TObject);
var aa, bb, cc, dd, ee: string;
begin
if Edit1.Text = '' then aa := '%' else aa := Edit1.Text;
if Edit2.Text = '' then bb := '%' else bb := Edit2.Text;
if Edit3.Text = '' then cc := '%' else cc := Edit3.Text;
if Edit4.Text = '' then dd := '%' else dd := Edit4.Text;
if Edit5.Text = '' then ee := '%' else ee := '%' + Edit5.Text + '%';
ADOQuery1.close;
ADOQuery1.SQL.clear;
ADOQuery1.SQL.add('select * from cxspda_v where code like :code and barcode like :barcode and name like :spname and ghscode like :ghscode and pybm like :pybm and ');
if ListBox1.Items.CommaText = '' then
ADOQuery1.SQL.add('lbname in (' + #39 + Table1lbname.AsString + #39 + ')')
else
ADOQuery1.SQL.add('lbname in (' + ListBox1.Items.CommaText + ',' + #39 + Table1lbname.AsString + #39 + ')');
ADOQuery1.Parameters[0].Value := aa;
ADOQuery1.Parameters[1].Value := cc;
ADOQuery1.Parameters[2].Value := bb;
ADOQuery1.Parameters[3].Value := dd;
ADOQuery1.Parameters[4].Value := ee;
ADOQuery1.open;
end;
procedure Tcxspda.Button2Click(Sender: TObject);
begin
dxComponentPrinter1.Preview(true, nil);
// Application.CreateForm(Tdycxspda, dycxspda);
// dycxspda.ShowModal;
end;
procedure Tcxspda.dxDBTreeList1Click(Sender: TObject);
begin
ListBox1.Items.Clear;
ListBox2.Items.Clear;
SELECTLB(#39 + Table1lbid.AsString + #39);
end;
procedure Tcxspda.SELECTLB(LBCODE: string);
begin
ListBox2.Items.Clear;
ADOQuery2.close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from lbda where sjlbid in (' + LBCODE + ')');
ADOQuery2.open;
if ADOQuery2.RecordCount = 0 then
begin
exit;
end;
ADOQuery2.First;
while not ADOQuery2.Eof do
begin
ListBox1.Items.Add(#39 + ADOQuery2.fieldbyname('lbname').asstring + #39);
ListBox2.Items.Add(#39 + ADOQuery2.fieldbyname('lbid').asstring + #39);
ADOQuery2.Next;
end;
SELECTLB(ListBox2.Items.CommaText);
end;
procedure Tcxspda.FormCreate(Sender: TObject);
begin
dxDBTreeList1Click(Sender);
end;
procedure Tcxspda.Button3Click(Sender: TObject);
begin
Mainform.N20.Click;
try
spdawh.Table1.Locate('code', ADOQuery1.fieldbyname('code').value, [loCaseInsensitive]);
spdawh.BitBtn1.Click;
except
end;
end;
procedure Tcxspda.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
begin
Button1.Click;
Edit1.SelectAll;
end;
end;
procedure Tcxspda.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
begin
Button1.Click;
Edit3.SelectAll;
end;
end;
procedure Tcxspda.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
begin
Button1.Click;
Edit2.SelectAll;
end;
end;
procedure Tcxspda.Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
begin
Button1.Click;
Edit4.SelectAll;
end;
end;
procedure Tcxspda.Edit5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
begin
Button1.Click;
Edit5.SelectAll;
end;
end;
procedure Tcxspda.Button4Click(Sender: TObject);
begin
SaveDialog1.Filter := 'Excel表格|*.xls';
if SaveDialog1.Execute then
begin
dxDBGrid1.SaveToXLS(SaveDialog1.FileName, true);
Application.MessageBox('文件已成功导出.', '提示', MB_OK + MB_ICONINFORMATION);
end;
end;
procedure Tcxspda.Button5Click(Sender: TObject);
begin
MainForm.N113.Click;
try
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
spjqdy.ADOTable1.InsertRecord([ADOQuery1.fieldbyname('code').asstring,
ADOQuery1.fieldbyname('name').asstring,
ADOQuery1.fieldbyname('bzgg').asstring,
ADOQuery1.fieldbyname('jldw').asstring,
ADOQuery1.fieldbyname('lsj').asstring,
ADOQuery1.fieldbyname('hyj').asstring,
ADOQuery1.fieldbyname('pfj').asstring,
ADOQuery1.fieldbyname('barcode').asstring,
ADOQuery1.fieldbyname('cxj').asstring,
ADOQuery1.fieldbyname('cd').asstring]);
ADOQuery1.Next;
end;
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -