?? editcasterunit.pas
字號:
Unit EditCasterUnit;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, LbButton, ExtCtrls, StdCtrls, DBCtrls, AAFont, AACtrls, Mask,
DBCtrlsEh, DB, ADODB, Grids, DBGrids;
Type
TEditCasterForm = Class(TForm)
LbButton1: TLbButton;
LbButton2: TLbButton;
AALabel1: TAALabel;
DBText1: TDBText;
AALabel2: TAALabel;
DBText2: TDBText;
Bevel1: TBevel;
AALabel3: TAALabel;
AALabel4: TAALabel;
DBEdit1: TDBEdit;
AALabel5: TAALabel;
AALabel6: TAALabel;
DBEdit2: TDBEdit;
AALabel12: TAALabel;
DBComboBox1: TDBComboBox;
AALabel9: TAALabel;
DBComboBox2: TDBComboBox;
AALabel13: TAALabel;
AALabel14: TAALabel;
DBDateTimeEditEh1: TDBDateTimeEditEh;
AALabel7: TAALabel;
DBEdit3: TDBEdit;
AALabel8: TAALabel;
AALabel10: TAALabel;
DBEdit4: TDBEdit;
AALabel11: TAALabel;
AALabel15: TAALabel;
DBEdit5: TDBEdit;
AALabel16: TAALabel;
AALabel17: TAALabel;
DBEdit6: TDBEdit;
AALabel18: TAALabel;
AALabel19: TAALabel;
DBEdit7: TDBEdit;
AALabel20: TAALabel;
AALabel21: TAALabel;
DBEdit8: TDBEdit;
AALabel22: TAALabel;
AALabel23: TAALabel;
DBEdit9: TDBEdit;
AALabel24: TAALabel;
AALabel25: TAALabel;
DBNumberEditEh1: TDBNumberEditEh;
AALabel26: TAALabel;
AALabel27: TAALabel;
DBEdit10: TDBEdit;
AALabel28: TAALabel;
Bevel2: TBevel;
AALabel29: TAALabel;
DBEdit11: TDBEdit;
AALabel30: TAALabel;
AALabel31: TAALabel;
DBComboBox3: TDBComboBox;
AALabel32: TAALabel;
DBEdit12: TDBEdit;
AALabel33: TAALabel;
AALabel34: TAALabel;
DBEdit13: TDBEdit;
AALabel35: TAALabel;
AALabel36: TAALabel;
DBEdit14: TDBEdit;
AALabel37: TAALabel;
AALabel38: TAALabel;
DBEdit15: TDBEdit;
AALabel39: TAALabel;
AALabel40: TAALabel;
DBEdit16: TDBEdit;
AALabel41: TAALabel;
Bevel3: TBevel;
AALabel42: TAALabel;
DBComboBox4: TDBComboBox;
DBGrid1: TDBGrid;
AALabel43: TAALabel;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
AALabel44: TAALabel;
AALabel45: TAALabel;
DBDateTimeEditEh2: TDBDateTimeEditEh;
AALabel46: TAALabel;
DBGrid2: TDBGrid;
ADOQuery2: TADOQuery;
DataSource2: TDataSource;
Procedure LbButton1Click(Sender: TObject);
Procedure LbButton2Click(Sender: TObject);
Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
Procedure DBDateTimeEditEh2Exit(Sender: TObject);
Procedure DBComboBox4Change(Sender: TObject);
Procedure FormCreate(Sender: TObject);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
EditCasterForm : TEditCasterForm;
strtempCastID : String;
BADD : Boolean;
Implementation
Uses DM, ViewCasterUnit, PUBFunction;
{$R *.dfm}
Procedure TEditCasterForm.LbButton1Click(Sender: TObject);
Begin
ViewCasterForm.ADOQuery2.Cancel;
Close;
End;
Procedure TEditCasterForm.LbButton2Click(Sender: TObject);
Function IsInputNil: Boolean;
Begin
result := true;
If (Trim(DBEdit1.Text) = '') Or (Trim(DBEdit2.Text) = '') Then Begin
Application.MessageBox('記錄添加失敗!客戶編號客戶名稱不能為空!請修改客戶編號名稱!',
'出錯信息', MB_ICONERROR);
DBEdit1.SetFocus;
result := false;
End;
End;
Function ExtRec: Boolean;
Var
ADOQ : TADOQuery;
Begin
ADOQ := TADOQuery.create(self);
With ADOQ Do Begin
connection := DM.DataModule2.ADOConnection1;
sql.Text := 'SELECT 客戶編號 FROM 客戶信息表' +
' WHERE 公司編號=''' + DBText1.Caption +
''' AND 客戶編號=''' + DBEdit1.Text + '''';
open;
result := recordcount > 0;
Free;
End;
End;
Procedure ModifyRecAboutGD(sTablename: String);
Var
ADOX : TADOQuery;
Begin
ADOX := TADOQuery.create(self);
ADOX.connection := DM.DataModule2.ADOConnection1;
ADOX.sql.Text := 'UPDATE ' + sTablename + ' SET 客戶編號=''' +
DBEdit1.Text + ''' where 公司編號=''' +
DBText1.Caption + ''' AND 客戶編號=''' + strtempCastID + '''';
ADOX.ExecSQL;
ADOX.Free;
End;
Var
i : integer;
Begin
If Not IsInputNil Then Exit;
If BADD Then Begin
If ExtRec Then Begin
Application.MessageBox('記錄添加失敗,記錄已存在!請修改客戶編號',
'出錯信息', MB_ICONERROR);
DBEdit1.SetFocus;
Exit;
End;
End Else Begin
If DBEdit1.Text <> strtempCastID Then Begin
If ExtRec Then Begin
Application.MessageBox('記錄修改失敗,記錄已存在!請修改客戶編號',
'出錯信息', MB_ICONERROR);
DBEdit1.Text := '';
DBEdit1.SetFocus;
Exit;
End;
End;
End;
//修改其他相關表中編號
For i := 0 To sTnames.Count - 1 Do
If (ExtFieldInTable(sTnames[i], '客戶編號')) Then
If Not (sTnames[i] = '客戶信息表') Then
ModifyRecAboutGD(sTnames[i]);
ViewCasterForm.ADOQuery2.fieldbyname('公司編號').AsString :=
DBText1.Caption;
ViewCasterForm.ADOQuery2.post;
Close;
End;
Procedure TEditCasterForm.FormClose(Sender: TObject;
Var Action: TCloseAction);
Begin
Action := cafree;
EditCasterForm := Nil;
End;
Procedure TEditCasterForm.DBDateTimeEditEh2Exit(Sender: TObject);
Begin
FixEhDTBug(DBDateTimeEditEh2);
End;
Procedure TEditCasterForm.DBComboBox4Change(Sender: TObject);
Begin
With ADOQuery1 Do Begin
sql.Text := 'select * from 業務員信息表 whERE 公司編號=''' +
DBText1.Caption + ''' and 業務員編號=''' +
DBComboBox4.Text + '''';
open;
End;
End;
Procedure TEditCasterForm.FormCreate(Sender: TObject);
Var
adot : TADOQuery;
i : integer;
Begin
DBComboBox4.Items.Clear;
adot := TADOQuery.create(self);
With adot Do Begin
connection := DM.DataModule2.ADOConnection1;
sql.Text := 'select 業務員編號 FROM 業務員信息表 WHERE 公司編號=''' +
DBText1.Caption + '''';
open;
If recordcount > 0 Then Begin
For i := 0 To recordcount - 1 Do Begin
DBComboBox4.Items.Add(fieldbyname('業務員編號').Text);
Next;
End;
End;
Free;
End;
DBComboBox4Change(self); //刷新業務員信息
strtempCastID := ViewCasterForm.ADOQuery2.fieldbyname('客戶編號').Text;
With ADOQuery2 Do Begin
sql.Text := 'select * from 單元信息表 whERE 公司編號=''' +
DBText1.Caption + ''' and 客戶編號=''' + strtempCastID + '''';
open;
End;
End;
End.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -