📄 mainunit.pas
字号:
unit mainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGridEh, LbSpeedButton, ExtCtrls, AAFont,
AACtrls, jpeg, StdCtrls, LbButton;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
LbSpeedButton1: TLbSpeedButton;
DBGridEh1: TDBGridEh;
DataSource1: TDataSource;
AALabel1: TAALabel;
LbSpeedButton2: TLbSpeedButton;
LbSpeedButton4: TLbSpeedButton;
LbSpeedButton5: TLbSpeedButton;
ADOQuery1: TADOQuery;
Panel3: TPanel;
LbButton1: TLbButton;
LbButton2: TLbButton;
LbButton3: TLbButton;
LbButton4: TLbButton;
LbButton5: TLbButton;
LbButton6: TLbButton;
LbButton7: TLbButton;
LbButton8: TLbButton;
LbButton9: TLbButton;
LbButton10: TLbButton;
LbButton11: TLbButton;
LbButton12: TLbButton;
LbButton14: TLbButton;
LbButton15: TLbButton;
LbButton16: TLbButton;
LbButton17: TLbButton;
Image1: TImage;
Label1: TLabel;
AALabel2: TAALabel;
LbSpeedButton3: TLbSpeedButton;
LbButton13: TLbButton;
LbSpeedButton6: TLbSpeedButton;
AAText1: TAAText;
LbSpeedButton7: TLbSpeedButton;
LbButton18: TLbButton;
procedure LbSpeedButton1Click(Sender: TObject);
procedure ADOTable1AfterOpen(DataSet: TDataSet);
procedure LbSpeedButton5Click(Sender: TObject);
procedure LbSpeedButton2Click(Sender: TObject);
procedure DBGridEh1CellClick(Column: TColumnEh);
procedure LbSpeedButton3Click(Sender: TObject);
procedure LbSpeedButton4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure LbButton1Click(Sender: TObject);
procedure LbSpeedButton6Click(Sender: TObject);
procedure LbSpeedButton7Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure FlashREC;
procedure DelAnotherTable(Sid: string);
procedure AppendMB2005(SID:string);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses DM, EDITMAIN, Unit100s, Unit101s, Unit102s, Unit103s,
Unit104s, Unit105s, Unit106s, unit107s, Unit108s, unit109s,
unit110s, Unit1111213s, Unit114s, Unit115s, Unit1617s,
Unit18_24s,UNITF3, UnitPreview;
{$R *.dfm}
procedure TForm1.LbSpeedButton1Click(Sender: TObject);
begin
FlashREC;
end;
procedure TForm1.ADOTable1AfterOpen(DataSet: TDataSet);
begin
AALabel1.Caption := '共有' + IntToStr(ADOQuery1.RecordCount) + '条记录。';
end;
procedure TForm1.LbSpeedButton5Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.LbSpeedButton2Click(Sender: TObject);
begin
ADOQuery1.Append;
IDForm := TIDForm.Create(SELF);
IDForm.bAppend := true;
IDForm.ShowModal;
FlashREC; //刷新
end;
procedure TForm1.FlashREC;
var
currrec: Integer;
begin
if ADOQuery1.Active then
currrec := adoquery1.RecNo
else
currrec := 0;
ADOquery1.CLOSE;
ADOquery1.SQL.Text :=
'select TID.合同编号,T0.出卖人,T0.买受人 FROM TID,T0 WHERE TID.合同编号=T0.合同编号 and TID.合同编号<>''MD2005''';
ADOQuery1.Open;
Panel3.Visible := (adoquery1.RecordCount > 0);
AALabel1.Caption := '共有' + inttostr(ADOQuery1.recordcount) + '条记录。';
if ADOQuery1.RecordCount = 0 then
Exit
else if currrec > ADOQuery1.RecordCount then
ADOQuery1.Last
else if currrec < 1 then
adoquery1.First
else
adoquery1.RecNo := currrec;
end;
procedure TForm1.DBGridEh1CellClick(Column: TColumnEh);
begin
Panel3.Visible := (adoquery1.RecordCount > 0);
end;
procedure TForm1.LbSpeedButton3Click(Sender: TObject);
begin
ADOQuery1.edit;
IDForm := TIDForm.Create(SELF);
IDForm.bAppend := false;
IDForm.ShowModal;
FlashREC; //刷新
end;
procedure TForm1.LbSpeedButton4Click(Sender: TObject);
begin
if Application.MessageBox('删除选定合同后将无法恢复,是否真的删除记录?',
'询问', MB_YESNO or MB_ICONQUESTION) = idyes then begin
DelAnotherTable(ADOQuery1.fieldbyname('合同编号').AsString);
FlashREC;
end;
end;
procedure TForm1.DelAnotherTable(Sid: string);
var
I: Integer;
ADOQ: TADOQUERY;
begin
ADOQ := TADOQUERY.Create(SELF);
with ADOQ do begin
CONNECTION := dm.DataModule2.ADOConnection1;
dm.DataModule2.ADOConnection1.BeginTrans;
try
for I := sTablename.Count - 1 downto 0 do begin
SQL.Text := 'delete from ' + sTablename[I] +
' where 合同编号=''' + sid + '''';
ExecSQL;
end;
DM.DataModule2.ADOConnection1.CommitTrans;
except
DM.DataModule2.ADOConnection1.RollbackTrans;
end;
free;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FlashREC;
end;
procedure TForm1.LbButton1Click(Sender: TObject);
begin
case TLbButton(Sender).Tag of
200: begin
sID := adoquery1.fieldbyname('合同编号').Text;
PreviewForm := TPreviewForm.Create(SELF);
PreviewForm.ShowModal;
end;
100: begin
sSQL := 'select * from T0 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form100s := TFORM100S.Create(SELF);
Form100S.ShowModal;
end;
101: begin
sSQL := 'select * from T1 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form101s := TFORM101S.Create(SELF);
Form101S.ShowModal;
end;
102: begin
sSQL := 'select * from T2 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form102s := TFORM102S.Create(SELF);
Form102S.ShowModal;
end;
103: begin
sSQL := 'select * from T3 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form103s := TFORM103S.Create(SELF);
Form103S.ShowModal;
end;
104: begin
sSQL := 'select * from T4 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form104s := TFORM104S.Create(SELF);
Form104S.ShowModal;
end;
105: begin
sSQL := 'select * from T5 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form105s := TFORM105S.Create(SELF);
Form105S.ShowModal;
end;
106: begin
sSQL := 'select * from T6 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form106s := TFORM106S.Create(SELF);
Form106S.ShowModal;
end;
107: begin
sSQL := 'select * from T7 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form107s := TFORM107S.Create(SELF);
Form107S.ShowModal;
end;
108: begin
sSQL := 'select * from T8 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form108s := TFORM108S.Create(SELF);
Form108S.ShowModal;
end;
109: begin
sSQL := 'select * from T9 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form109s := TFORM109S.Create(SELF);
Form109S.ShowModal;
end;
110: begin
sSQL := 'select * from T10 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form110s := TFORM110S.Create(SELF);
Form110S.ShowModal;
end;
1111213: begin
sSQL := 'select * from T11T12T13 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form1111213s := TFORM1111213S.Create(SELF);
Form1111213S.ShowModal;
end;
114: begin
sSQL := 'select * from T14 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form114s := TFORM114S.Create(SELF);
Form114S.ShowModal;
end;
115: begin
sSQL := 'select * from T15 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form115s := TFORM115S.Create(SELF);
Form115S.ShowModal;
end;
11617: begin
sSQL := 'select * from T16t17 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form1617s := TFORM1617S.Create(SELF);
Form1617S.ShowModal;
end;
118192224: begin
sSQL := 'select * from T18T19T22T24 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
form18_24s := TFORM18_24S.Create(SELF);
Form18_24S.ShowModal;
end;
300: begin
sSQL := 'select * from F3 where 合同编号=''' +
adoquery1.fieldbyname('合同编号').Text + '''';
sID := adoquery1.fieldbyname('合同编号').Text;
formTF3 := TFORMTF3.Create(SELF);
FormTF3.ShowModal;
end;
end;
FlashREC;
end;
procedure TForm1.LbSpeedButton6Click(Sender: TObject);
begin
LbButton13.Click;
end;
procedure TForm1.LbSpeedButton7Click(Sender: TObject);
var
ADOMB:TADOQuery;
begin
if adoquery1.RecordCount =0 then BEGIN
Application.MessageBox('没有源记录,请先输入一个合同数据再建立模板!',
'提示',MB_OK OR MB_ICONERROR );
exit;
end ELSE begin
if Application.MessageBox('是否真的根据当前合同建立模板?新模板将覆盖旧模板!','提示',
MB_yesno OR MB_ICONQUESTION )=7 THEN
Exit;
END;
DelAnotherTable('MD2005');
ADOMB:=TADOQuery.Create(SELF);
WITH ADOMB DO begin
Connection:=DM.DataModule2.ADOConnection1 ;
dm.DataModule2.ADOConnection1.BeginTrans;
TRY
SQL.Text :='delete * FROM TID WHERE 合同编号=''MD2005''';
ExecSQL ;
DM.DataModule2.ADOConnection1.CommitTrans;
except
DM.DataModule2.ADOConnection1.RollbackTrans;
end;
AppendMB2005 (ADOQuery1.FIELDBYNAME('合同编号').Text );
free;
END;
Application.MessageBox('模板已保存完毕!','提示',MB_OK OR MB_ICONINFORMATION);
end;
procedure TForm1.AppendMB2005(SID: string);
function getfields( stn:string;VAR svn:String):string ;
var
j:integer;
adotemp:TADOQuery;
begin
result:='';
svn:='';
adotemp:=TADOQuery.Create(self);
with adotemp do begin
Connection :=dm.DataModule2.ADOConnection1 ;
SQL.Text :='select * from '+ stn;
open;
for j :=0 to FieldCount-1 do begin
result:=Result+ adotemp.Fields[j].DisplayName +',';
if adotemp.Fields[j].DisplayName='合同编号' then
svn:=svn+'''MD2005'','
else
svn:=svn+''''+VarToStr( adotemp.Fields[j].AsVariant) +'''' +',';
end;
free;
result:= Copy(result,0,Length (Result)-1);
svn := Copy(SVN,0,Length (SVN)-1);
end;
end;
var
I:Integer;
sf,sv:string;
ADOMBSQL:TADOQuery;
begin
ADOMBSQL:=TADOQUERY.Create(SELF);
with ADOMBSQL do begin
Connection :=DM.DataModule2.ADOConnection1;
dm.DataModule2.ADOConnection1.BeginTrans;
try
for I := sTablename.Count - 1 downto 0 do begin
Application.ProcessMessages ;
sf:=getfields(sTablename[i],sv);
//ShowMessage(sTablename[i]+#13+ sf+#13+sv);
SQL.Text := 'insert into ' + sTablename[I] +
'('+sF+')VALUES ('+SV+')';
ExecSQL;
end;
DM.DataModule2.ADOConnection1.CommitTrans;
except
DM.DataModule2.ADOConnection1.RollbackTrans;
end;
FREE;
END;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
form1:=nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -