?? realtyg52a.pas
字號:
ss:=mainform.getnum(edit13.text);
if Edit1.Text='' then
begin
showmessage('請輸入編號。');
Edit1.SetFocus;
exit;
end;
if Edit2.Text='' then
begin
showmessage('名稱不能為空。');
Edit2.SetFocus;
exit;
end;
if Edit3.Text='' then
begin
showmessage('負責人不能為空。');
Edit3.SetFocus;
exit;
end;
if Edit5.Text='' then
begin
showmessage('查驗人不能為空。');
Edit5.SetFocus;
exit;
end;
if Edit8.Text='' then
begin
showmessage('保養人不能為空。');
Edit8.SetFocus;
exit;
end;
if Edit7.Text='' then
begin
showmessage('請選擇消防等級。');
Edit7.SetFocus;
exit;
end;
if Edit13.Text='' then
begin
showmessage('請選擇組織機構。');
Edit13.SetFocus;
exit;
end;
// 2 檢查所有字段的數據完整性
edit6.Text:=mainform.StdInt(edit6.Text);
If Edit4.Text = '' Then Edit4.Text := '-';
If Edit6.Text = '' Then Edit6.Text := '-';
If Edit9.Text = '' Then Edit9.Text := '-';
If Edit10.Text = '' Then Edit10.Text := '-';
// 3 定義數據集
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
Query1:=TADOQuery.Create(nil);
Query1.Connection:=DataModuleADO.ADOConnection1;
Query2:=TADOQuery.Create(nil);
Query2.Connection:=DataModuleADO.ADOConnection1;
// 4 新增
if f_RealtyG52.bnew=true then
begin
// 一關鍵字段是否重復
query.SQL.Clear;
query.SQL.Add('select * from 消防片區 where 單號='''+edit1.Text+'''');
query.Open;
if query.RecordCount>0 then
begin
showmessage('單號重復');
edit1.SetFocus;
query.Close; //******************************必須
query.Free; //******************************必須
exit;
end;
// 二新增記錄
//保存主表
s := 'insert into 消防片區(單號,名稱,責任人,面積,查驗人,查驗周期,消防等級,器材保養人,地點,';
s:=s+'備注,操作員,修訂,組織機構,審核) values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:s12,:s13,:s14)';
query.sql.Clear ;
query.sql.add(s);
query.Parameters.ParamByName('s1').Value:=trim(Edit1.Text);
query.Parameters.ParamByName('s2').Value:=trim(Edit2.Text);
query.Parameters.ParamByName('s3').Value:=trim(Edit3.text);
query.Parameters.ParamByName('s4').Value:=trim(Edit4.Text);
query.Parameters.ParamByName('s5').Value:=trim(Edit5.Text);
query.Parameters.ParamByName('s6').Value:=trim(Edit6.text);
query.Parameters.ParamByName('s7').Value:=trim(Edit7.Text);
query.Parameters.ParamByName('s8').Value:=trim(Edit8.text);
query.Parameters.ParamByName('s9').Value:=trim(Edit9.Text);
query.Parameters.ParamByName('s10').Value:=trim(Edit10.Text);
query.Parameters.ParamByName('s11').Value:=trim(Edit11.text);
query.Parameters.ParamByName('s12').Value:=trim(Edit12.Text);
query.Parameters.ParamByName('s13').Value:=ss;
query.Parameters.ParamByName('s14').Value:='N';
DataModuleADO.ADOConnection1.BeginTrans;
query.execsql;
DataModuleADO.ADOConnection1.CommitTrans;
//保存從表
for i:=0 to listview1.Items.Count-1 do
begin
if listview1.Items.Item[i].Caption='' then listview1.Items.Item[i].Caption:='-';
if listview1.Items.Item[i].SubItems[0]='' then listview1.Items.Item[i].SubItems[0]:='-';
if listview1.Items.Item[i].SubItems[1]='' then listview1.Items.Item[i].SubItems[1]:='-';
listview1.Items.Item[i].SubItems[0]:=mainform.StdDou2(listview1.Items.Item[i].SubItems[0]);
s:='insert into 消防片區消防器材配備 (消防器材,數量,備注,單號) values(:s1,:s2,:s3,:s4)';
query.SQL.Clear;
query.SQL.Add(s);
query.Parameters.ParamByName('s1').Value:=trim(listview1.Items.Item[i].Caption);
query.Parameters.ParamByName('s2').Value:=strtofloat(listview1.Items.Item[i].SubItems[0]);
query.Parameters.ParamByName('s3').Value:=trim(listview1.Items.Item[i].SubItems[1]);
query.Parameters.ParamByName('s4').Value:=trim(edit1.Text);
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
end;
showmessage('保存成功-');
// 三 追加數據到父窗口listview中
query.sql.clear;
query.SQL.Add('select * from 消防片區 where 單號='''+edit1.Text+'''');
query.Open;
if query.recordcount>0 then
begin
query1.SQL.Clear;
query1.SQL.Add('select * from 職員 where 名稱 ='''+query.fieldbyname('責任人').Value+'''') ;
query1.Open;
if query1.RecordCount>0 then
begin
with f_RealtyG52.listview1.Items.Add do
begin
caption:=query.fieldbyname('名稱').Value;
subitems.Add(query.fieldbyname('責任人').Value);
subitems.Add(query1.fieldbyname('崗位').Value);
subitems.Add(query1.fieldbyname('職務').Value);
subitems.Add(query.fieldbyname('消防等級').Value);
subitems.Add(query.fieldbyname('查驗周期').Value);
subitems.Add(query.fieldbyname('查驗人').Value);
subitems.Add(query.fieldbyname('器材保養人').Value);
subitems.Add(query.fieldbyname('面積').Value);
subitems.Add(query.fieldbyname('地點').Value);
subitems.Add(mainform.getName('組織機構',query.fieldbyname('組織機構').Value));
subitems.Add(query.fieldbyname('單號').Value);
subitems.Add(query.fieldbyname('審核').Value);
end;
end;
query.Next;
end;
query1.Close;
query1.Free;
query.Close;
query.Free;
// 四 清空字段、設置自動編號并移動光標到第一個錄入字段的輸入框中
getId;
edit2.Text:='';
edit3.text:='';
edit4.Text:='';
edit5.Text:='';
edit6.text:='';
edit7.ItemIndex:=edit7.Items.IndexOf('');
edit8.Text:='';
edit9.Text:='';
edit10.Text:='';
edit12.Text:='';
edit13.text:='';
listview1.Items.Clear;
Edit1.SetFocus;
end;
// 5 修改
if f_RealtyG52.bnew=false then
begin
// 一更新主表
s:='update 消防片區 set 單號='''+edit1.text;
s:=s+''',名稱='''+edit2.text;
s:=s+''',責任人='''+edit3.Text;
s:=s+''',面積='''+edit4.Text;
s:=s+''',查驗人='''+edit5.Text;
s:=s+''',查驗周期='''+edit6.Text;
s:=s+''',消防等級='''+edit7.Text;
s:=s+''',器材保養人='''+edit8.Text;
s:=s+''',地點='''+edit9.Text;
s:=s+''',備注='''+edit10.Text;
s:=s+''',修訂='''+edit12.Text;
s:=s+''',組織機構='''+ss;
s:=s+''' where 單號='''+f_RealtyG52.ListView1.Selected.subitems[10]+'''';
query.SQL.Clear;
query.SQL.Add(s);
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
// 二刪除從表再重新保存從表
DataModuleADO.ADOConnection1.BeginTrans;
query.sql.clear;
Query.SQL.Text:='delete from 消防片區消防器材配備 where 單號='''+f_RealtyG52.listview1.Selected.subitems[10]+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
for i:=0 to listview1.Items.Count-1 do
begin
if listview1.Items.Item[i].Caption='' then listview1.Items.Item[i].Caption:='-';
if listview1.Items.Item[i].SubItems[1]='' then listview1.Items.Item[i].SubItems[1]:='-';
listview1.Items.Item[i].SubItems[0]:=mainform.StdDou2(listview1.Items.Item[i].SubItems[0]);
s:='insert into 消防片區消防器材配備 (消防器材,數量,備注,單號) values(:s1,:s2,:s3,:s4)';
query.SQL.Clear;
query.SQL.Add(s);
query.Parameters.ParamByName('s1').Value:=trim(listview1.Items.Item[i].Caption);
query.Parameters.ParamByName('s2').Value:=strtofloat(listview1.Items.Item[i].SubItems[0]);
query.Parameters.ParamByName('s3').Value:=trim(listview1.Items.Item[i].SubItems[1]);
query.Parameters.ParamByName('s4').Value:=trim(edit1.Text);
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
end;
// 三 更新父窗口listview中的當前行數據
query.SQL.Clear;
query.SQL.Add('select * from 消防片區 where 單號='''+edit1.Text+'''');
query.Open;
if query.recordcount>0 then
begin
query1.SQL.Clear;
query1.SQL.Add('select * from 職員 where 名稱 ='''+query.fieldbyname('責任人').Value+'''') ;
query1.Open;
if query1.RecordCount>0 then
begin
with f_RealtyG52.listview1.selected do
begin
caption:=query.fieldbyname('名稱').Value;
subitems[0]:=query.fieldbyname('責任人').Value;
subitems[1]:=query1.fieldbyname('崗位').Value;
subitems[2]:=query1.fieldbyname('職務').Value;
subitems[3]:=query.fieldbyname('消防等級').Value;
subitems[4]:=query.fieldbyname('查驗周期').Value;
subitems[5]:=query.fieldbyname('查驗人').Value;
subitems[6]:=query.fieldbyname('器材保養人').Value;
subitems[7]:=query.fieldbyname('面積').Value;
subitems[8]:=query.fieldbyname('地點').Value;
subitems[9]:=mainform.getName('組織機構',query.fieldbyname('組織機構').Value);
subitems[10]:=query.fieldbyname('單號').Value;
subitems[11]:=query.fieldbyname('審核').Value;
end;
end;
query.Next;
end;
query1.Close;
query1.Free;
query.Close;
query.Free;
// 四 關閉窗口
close;
end;
end;
procedure Tf_RealtyG52A.Button5Click(Sender: TObject);
begin
close;
end;
procedure Tf_RealtyG52A.edit7Select(Sender: TObject);
begin
if edit7.Text='新增消防等級' then
begin
mainform.t1:='消防等級';
f_Car4s931:=Tf_Car4s931.Create(self);
f_Car4s931.showmodal;
if f_Car4s931.bOK=true then
begin
edit7.Items.Add(mainform.t1);
edit7.ItemIndex:=edit7.Items.IndexOf(mainform.t1);
end
else edit7.ItemIndex:=edit7.Items.IndexOf('');
end;
end;
procedure Tf_RealtyG52A.Button3Click(Sender: TObject);
begin
f_realtyI11C:=Tf_realtyI11C.Create(self);
f_RealtyI11C.button1.Visible:=true;
f_realtyI11C.ShowModal;
if f_realtyI11C.bOk=true then
begin
edit13.Text:=f_realtyI11C.ListView1.Selected.Caption+'--'+f_realtyI11C.ListView1.Selected.SubItems[0];
end;
end;
procedure Tf_RealtyG52A.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -