📄 ufkxxlr.~pas
字号:
unit uFKXXLR;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ComCtrls, StdCtrls, Mask, DBCtrls, Db, DBTables;
type
TfrmFKXXLR = class(TForm)
Panel2: TPanel;
pagMain: TPageControl;
tabRYFKXX: TTabSheet;
tabZFKXX: TTabSheet;
Panel1: TPanel;
btnAdd: TButton;
btnClear: TButton;
btnClose: TButton;
Label2: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label1: TLabel;
edtXM_1: TEdit;
edtSFZH_1: TEdit;
edtZH_1: TEdit;
edtKHH_1: TEdit;
edtHRDD_1: TEdit;
edtYZBM_1: TEdit;
edtDZ_1: TEdit;
edtFFJE_1: TEdit;
edtDQDM_1: TEdit;
edtDQMC_1: TEdit;
edtDWDM_1: TEdit;
edtCWBZ_1: TEdit;
edtFFYF_1: TEdit;
edtRYID_FF_1: TEdit;
edtBZ_1: TEdit;
Label3: TLabel;
Label4: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label23: TLabel;
Label24: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
edtXM_2: TEdit;
edtZH_2: TEdit;
edtKHH_2: TEdit;
edtHRDD_2: TEdit;
edtYZBM_2: TEdit;
edtFFJE_2: TEdit;
edtDQDM_2: TEdit;
edtDWDM_2: TEdit;
edtCWBZ_2: TEdit;
edtFFYF_2: TEdit;
edtDWID_FF_2: TEdit;
edtBZ_2: TEdit;
Label30: TLabel;
Label17: TLabel;
edtZRS_2: TEdit;
Label22: TLabel;
edtDQMC_2: TEdit;
qryRYFKXX: TQuery;
qryRYFKXXRYID_FF: TStringField;
qryRYFKXXFFYF: TDateTimeField;
qryRYFKXXFFBZ: TFloatField;
qryRYFKXXXM: TStringField;
qryRYFKXXSFZH: TStringField;
qryRYFKXXZH: TStringField;
qryRYFKXXKHH: TStringField;
qryRYFKXXHRDD: TStringField;
qryRYFKXXYZBM: TStringField;
qryRYFKXXDZ: TStringField;
qryRYFKXXFFJE: TFloatField;
qryRYFKXXDQDM: TStringField;
qryRYFKXXDQMC: TStringField;
qryRYFKXXDWDM: TStringField;
qryRYFKXXCWBZ: TFloatField;
qryRYFKXXBZ: TStringField;
UpdateSQL1: TUpdateSQL;
Label25: TLabel;
edtDZ_2: TEdit;
Label31: TLabel;
cmbFFJG_1: TComboBox;
cmbFFJG_2: TComboBox;
Label32: TLabel;
procedure btnClearClick(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure edtDQDM_1Exit(Sender: TObject);
procedure edtDQDM_2Exit(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure edtRYID_FF_1Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmFKXXLR: TfrmFKXXLR;
implementation
uses dMain, uCommon;
{$R *.DFM}
procedure TfrmFKXXLR.btnClearClick(Sender: TObject);
var
i: Integer;
begin
for i := 0 to Self.ComponentCount - 1 do
if Self.Components[i] is TEdit then
TEdit(Self.Components[i]).Text := '';
end;
procedure TfrmFKXXLR.btnAddClick(Sender: TObject);
begin
//1 插入前检查数据是否完整
//2 检查数据库中是否有重复记录
//3 插入记录
{
//人员反馈信息
人员标识
发放月份
发放标志
错误标志
//组反馈信息
人员标识
发放月份
发放标志
错误标志
}
if pagMain.ActivePageIndex = 0 then
begin
if Trim(edtFFJE_1.Text) = '' then
begin
gfShowError('发放金额不能为空');
edtFFJE_1.SetFocus;
Abort;
end;
if Trim(edtRYID_FF_1.Text) = '' then
begin
gfShowError('人员标识不能为空');
edtRYID_FF_1.SetFocus;
Abort;
end;
if Trim(edtCWBZ_1.Text) = '' then
begin
gfShowError('错误标志不能为空');
edtCWBZ_1.SetFocus;
Abort;
end;
if Trim(edtFFYF_1.Text) = '' then
begin
gfShowError('发放月份不能为空');
edtFFYF_1.SetFocus;
Abort;
end;
if cmbFFJG_1.ItemIndex = 0 then
begin
gfShowError('发放机构不能为空');
cmbFFJG_1.SetFocus;
Abort;
end;
//检查发放月份是否正确
with TQuery.Create(Self) do
try
DatabaseName := dfmMain.dbsMain.DataBaseName;
SQL.Add('INSERT INTO tFF_RYFKXX');
SQL.Add('(RYID_FF, FFYF, FFBZ, XM, SFZH, ZH, KHH, HRDD, YZBM, DZ, FFJE, DQDM,');
SQL.Add('DQMC, DWDM, CWBZ, BZ,FFJGID)');
SQL.Add('values');
SQL.Add(' (''' + Trim(edtRYID_FF_1.Text) + '''');
SQL.Add(',to_Date(''' + Trim(edtFFYF_1.Text) + ''',''YYYYMM'')');
SQL.Add(',1');
SQL.Add(',''' + Trim(edtXM_1.Text) + '''');
SQL.Add(',''' + Trim(edtSFZH_1.Text) + '''');
SQL.Add(',''' + Trim(edtZH_1.Text) + '''');
SQL.Add(',''' + Trim(edtKHH_1.Text) + '''');
SQL.Add(',''' + Trim(edtHRDD_1.Text) + '''');
SQL.Add(',''' + Trim(edtYZBM_1.Text) + '''');
SQL.Add(',''' + Trim(edtDZ_1.Text) + '''');
SQL.Add(',' + Trim(edtFFJE_1.Text));
SQL.Add(',''' + Trim(edtDQDM_1.Text) + '''');
SQL.Add(',''' + Trim(edtDQMC_1.Text) + '''');
SQL.Add(',''' + Trim(edtDWDM_1.Text) + '''');
SQL.Add(',' + Trim(edtCWBZ_1.Text));
SQL.Add(',''' + Trim(edtBZ_1.Text) + '''');
SQL.Add(',''' + IntToStr(1000000001 + cmbFFJG_1.ItemIndex) + ''')');
try
ExecSQL;
btnClear.Click;
except
on E: Exception do
gfShowError(PChar('插入记录出现错误,错误信息是' + #13 + E.Message));
end;
finally
Free;
end;
end
else
if pagMain.ActivePageIndex = 1 then
begin
if Trim(edtDWID_FF_2.Text) = '' then
begin
gfShowError('单位标识不能为空');
edtRYID_FF_1.SetFocus;
Abort;
end;
if Trim(edtFFJE_2.Text) = '' then
begin
gfShowError('发放金额不能为空');
edtFFJE_2.SetFocus;
Abort;
end;
if Trim(edtZRS_2.Text) = '' then
begin
gfShowError('组人数不能为空');
edtZRS_2.SetFocus;
Abort;
end;
if Trim(edtCWBZ_2.Text) = '' then
begin
gfShowError('错误标志不能为空');
edtCWBZ_1.SetFocus;
Abort;
end;
if Trim(edtFFYF_2.Text) = '' then
begin
gfShowError('发放月份不能为空');
edtFFYF_1.SetFocus;
Abort;
end;
if cmbFFJG_1.ItemIndex = -1 then
begin
gfShowError('发放机构不能为空');
cmbFFJG_1.SetFocus;
Abort;
end;
//检查发放月份是否正确
with TQuery.Create(Self) do
try
DatabaseName := dfmMain.dbsMain.DataBaseName;
SQL.Add(' insert into tFF_ZFKXX ');
SQL.Add(' (DWID_FF, FFYF, FFBZ, XM, ZH, KHH, HRDD, YZBM, DZ, FFJE, ');
SQL.Add(' DQDM, DQMC, DWDM, ZRS, CWBZ, BZ,FFJGID) ');
SQL.Add('values');
SQL.Add(' (''' + Trim(edtDWID_FF_2.Text) + '''');
SQL.Add(',to_Date(''' + Trim(edtFFYF_2.Text) + ''',''YYYYMM'')');
SQL.Add(',1');
SQL.Add(',''' + Trim(edtXM_2.Text) + '''');
SQL.Add(',''' + Trim(edtZH_2.Text) + '''');
SQL.Add(',''' + Trim(edtKHH_2.Text) + '''');
SQL.Add(',''' + Trim(edtHRDD_2.Text) + '''');
SQL.Add(',''' + Trim(edtYZBM_2.Text) + '''');
SQL.Add(',''' + Trim(edtDZ_2.Text) + '''');
SQL.Add(',' + Trim(edtFFJE_2.Text));
SQL.Add(',''' + Trim(edtDQDM_2.Text) + '''');
SQL.Add(',''' + Trim(edtDQMC_2.Text) + '''');
SQL.Add(',''' + Trim(edtDWDM_2.Text) + '''');
SQL.Add(',''' + Trim(edtZRS_2.Text) + '''');
SQL.Add(',' + Trim(edtCWBZ_2.Text));
SQL.Add(',''' + Trim(edtBZ_2.Text) + '''');
SQL.Add(',''' + IntToStr(1000000001 + cmbFFJG_1.ItemIndex) + ''')');
try
ExecSQL;
btnClear.Click;
except
on E: Exception do
gfShowError(PChar('插入记录出现错误,错误信息是' + #13 +
E.Message));
end;
finally
Free;
end;
end;
end;
procedure TfrmFKXXLR.edtDQDM_1Exit(Sender: TObject);
begin
//得到地区名称
with TQuery.Create(Self) do
try
DatabaseName := dfmMain.dbsMain.DatabaseName;
SQL.Add('select MC from tXZQH where DM =''' + Trim(TEdit(Sender).Text) +
'''');
Open;
if RecordCount <> 0 then
edtDQMC_1.Text := FieldByName('MC').AsString
else
edtDQMC_1.Text := '';
finally
Free;
end;
end;
procedure TfrmFKXXLR.edtDQDM_2Exit(Sender: TObject);
begin
with TQuery.Create(Self) do
try
DatabaseName := dfmMain.dbsMain.DatabaseName;
SQL.Add('select MC from tXZQH where DM =''' + Trim(TEdit(Sender).Text) +
'''');
Open;
if RecordCount <> 0 then
edtDQMC_2.Text := FieldByName('MC').AsString
else
edtDQMC_2.Text := '';
finally
Free;
end;
end;
procedure TfrmFKXXLR.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
SelectNext(ActiveControl as tWinControl, True, True);
Key := #0;
end;
end;
procedure TfrmFKXXLR.edtRYID_FF_1Exit(Sender: TObject);
begin
//根据人员标识查询数据
with TQuery.Create(Self) do
try
DataBaseName := dfmMain.dbsMain.DatabaseName;
SQL.Add('select dqxx.dm,dqxx.mc,ryxx.*,dwxx.dwdm');
SQL.Add('from tff_ryxx ryxx,tff_dwxx dwxx,tff_rydqxx dqxx');
SQL.Add('where ryxx.ryid_ff=dqxx.ryid_ff and dwxx.dwid_ff=ryxx.ssdwid');
SQL.Add(' and ryxx.ryid_ff=''' + edtRYID_FF_1.Text + '''');
Open;
if RecordCount = 1 then
begin
edtXM_1.Text := FieldByName('XM').AsString;
edtSFZH_1.Text := FieldByName('SFZH').AsString;
edtZH_1.Text := FieldByName('ZH').AsString;
edtKHH_1.Text := FieldByName('KHH').AsString;
edtHRDD_1.Text := FieldByName('HRDD').AsString;
edtYZBM_1.Text := FieldByName('YZBM').AsString;
edtDZ_1.Text := FieldByName('DZ').AsString;
edtFFJE_1.Text := FieldByName('BZJE').AsString;
edtDQDM_1.Text := FieldByName('DM').AsString;
edtDQMC_1.Text := FieldByName('MC').AsString;
edtDWDM_1.Text := FieldByName('DWDM').AsString;
end;
finally
Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -