📄 realtyf31a.pas
字号:
if button=mbright then
popupmenu1.Popup(mouse.CursorPos.X,mouse.CursorPos.Y);
end;
procedure Tf_RealtyF31A.Button3Click(Sender: TObject);
begin
f_realtyC62:=Tf_realtyC62.Create(self);
f_realtyC62.ToolButton4.Visible:=true;
f_realtyC62.ShowModal;
if f_realtyC62.bOk=true then
begin
edit10.Text:=f_realtyC62.sNum;
end;
end;
procedure Tf_RealtyF31A.Button7Click(Sender: TObject);
var
i,j:integer;
s,ss,rr:string;
Query:TADOQuery;
d,d1,d2:double;
begin
// 1 关键字段不能为空
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 Edit6.Text='' then
begin
showmessage('请输入证件号码。');
Edit6.SetFocus;
exit;
end;
if Edit9.Text='' then
begin
showmessage('请选择经办人。');
Edit9.SetFocus;
exit;
end;
if Edit10.Text='' then
begin
showmessage('请填写保证金。');
Edit10.SetFocus;
exit;
end;
edit10.Text:=mainform.StdDou2(edit10.Text);
// 2 检查所有字段的数据完整性
If Edit11.Text = '' Then Edit11.Text := '-';
If Edit4.Text = '' Then Edit4.Text := '-';
// 3 定义数据集
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
// 4 新增
if f_RealtyF31.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;
query.SQL.Clear;
query.SQL.Add('select * from 出入证 where 出入证编号='''+edit2.Text+'''');
query.Open;
if query.RecordCount>0 then
begin
showmessage('编号重复');
edit2.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)';
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:=datetostr(Edit7.date);
query.Parameters.ParamByName('s8').Value:=datetostr(Edit8.date);
query.Parameters.ParamByName('s9').Value:=trim(Edit9.Text);
query.Parameters.ParamByName('s10').Value:=strtofloat(Edit10.Text);
query.Parameters.ParamByName('s11').Value:=trim(Edit11.text);
query.Parameters.ParamByName('s12').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[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:=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
with f_RealtyF31.listview1.Items.Add do
begin
Caption:=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(Query.FieldByName('经办人').Value);
SubItems.Add(Query.FieldByName('有效开始时间').Value);
SubItems.Add(Query.FieldByName('有效结束时间').Value);
SubItems.Add(Query.FieldByName('审核').Value);
SubItems.Add(Query.FieldByName('备注').Value);
end;
end;
query.Close ;
query.Free ;
showmessage('保存成功');
// 四 清空字段、设置自动编号并移动光标到第一个录入字段的输入框中
getId;
getBH;
edit3.Text:='';
edit4.Text:='';
edit5.ItemIndex:=edit5.Items.IndexOf('');
edit6.Text:='';
edit7.date:=date;
edit8.date:=date;
edit9.Text:='';
edit10.Text:='0';
edit11.text:='';
listview1.Items.Clear;
Edit1.SetFocus;
end;
// 5 修改
if f_RealtyF31.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+''',有效开始时间='''+datetostr(edit7.date);
s:=s+''',有效结束时间='''+datetostr(edit8.date);
s:=s+''',经办人='''+edit9.Text;
s:=s+''',办证保证金='+edit10.Text;
s:=s+',备注='''+edit11.text;
s:=s+''' where 单号='''+f_RealtyF31.ListView1.Selected.Caption+'''';
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_RealtyF31.listview1.Selected.Caption+'''';
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:=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
with f_RealtyF31.listview1.Selected do
begin
caption:=query.fieldbyname('单号').Value;
subitems[0]:= query.fieldbyname('出入证编号').Value;
subitems[1]:=query.fieldbyname('姓名').Value;
subitems[2]:=query.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]:=query.fieldbyname('备注').Value;
end;
end;
query.Close ;
query.Free ;
// 四 关闭窗口
close;
end;
end;
procedure Tf_RealtyF31A.Button5Click(Sender: TObject);
begin
close;
end;
procedure Tf_RealtyF31A.edit5Select(Sender: TObject);
begin
if edit5.Text='新增证件类别' then
begin
mainform.t1:='证件类别';
f_Car4s931:=Tf_Car4s931.Create(self);
f_Car4s931.showmodal;
if f_Car4s931.bOK=true then
begin
edit5.Items.Add(mainform.t1);
edit5.ItemIndex:=edit5.Items.IndexOf(mainform.t1);
end
else edit5.ItemIndex:=edit5.Items.IndexOf('');
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -