📄 fixdata.pas
字号:
unit fixdata;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, Db, DBTables, ADODB, ComCtrls, Grids, DBGrids;
type
Tfixdatafm = class(TForm)
PageControl1: TPageControl;
TabSheet2: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
Panel7: TPanel;
Panel8: TPanel;
Panel9: TPanel;
DBGrid2: TDBGrid;
Label36: TLabel;
Panel14: TPanel;
Label40: TLabel;
DBGrid7: TDBGrid;
Panel19: TPanel;
Panel20: TPanel;
DBGrid13: TDBGrid;
DBGrid16: TDBGrid;
Panel23: TPanel;
Panel24: TPanel;
Label56: TLabel;
Label57: TLabel;
Label58: TLabel;
Label59: TLabel;
Label60: TLabel;
Edit24: TEdit;
Label61: TLabel;
Edit26: TEdit;
Label63: TLabel;
Label64: TLabel;
Edit27: TEdit;
BitBtn12: TBitBtn;
BitBtn13: TBitBtn;
Label65: TLabel;
Label66: TLabel;
Edit28: TEdit;
Edit29: TEdit;
BitBtn14: TBitBtn;
Label62: TLabel;
Edit25: TEdit;
Label67: TLabel;
Edit30: TEdit;
Label69: TLabel;
Edit32: TEdit;
BitBtn15: TBitBtn;
Label70: TLabel;
Label71: TLabel;
Edit33: TEdit;
Edit34: TEdit;
BitBtn16: TBitBtn;
Label74: TLabel;
Label75: TLabel;
Label76: TLabel;
Label77: TLabel;
Edit35: TEdit;
Edit36: TEdit;
Edit37: TEdit;
BitBtn22: TBitBtn;
Label22: TLabel;
Edit10: TEdit;
Panel15: TPanel;
Panel16: TPanel;
Label42: TLabel;
Label46: TLabel;
BitBtn9: TBitBtn;
Edit21: TEdit;
Panel17: TPanel;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Edit22: TEdit;
BitBtn10: TBitBtn;
Panel18: TPanel;
Label51: TLabel;
DBGrid10: TDBGrid;
BitBtn11: TBitBtn;
Panel28: TPanel;
Label41: TLabel;
Label43: TLabel;
Label44: TLabel;
Edit16: TEdit;
Edit15: TEdit;
BitBtn8: TBitBtn;
Label52: TLabel;
Label73: TLabel;
Label45: TLabel;
Panel11: TPanel;
Label25: TLabel;
Label30: TLabel;
edit12: TEdit;
Edit13: TEdit;
BitBtn4: TBitBtn;
DBGrid5: TDBGrid;
BitBtn5: TBitBtn;
Panel10: TPanel;
Label24: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
BitBtn7: TBitBtn;
Label31: TLabel;
Edit17: TEdit;
Edit18: TEdit;
Edit19: TEdit;
DBGrid4: TDBGrid;
Edit38: TEdit;
Label1: TLabel;
Panel1: TPanel;
Label26: TLabel;
Edit14: TEdit;
DBGrid6: TDBGrid;
procedure Edit14Change(Sender: TObject);
procedure DBGrid6CellClick(Column: TColumn);
procedure TabSheet6Show(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure DBGrid7CellClick(Column: TColumn);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure TabSheet3Show(Sender: TObject);
procedure BitBtn12Click(Sender: TObject);
procedure BitBtn13Click(Sender: TObject);
procedure BitBtn14Click(Sender: TObject);
procedure BitBtn15Click(Sender: TObject);
procedure DBGrid13CellClick(Column: TColumn);
procedure BitBtn16Click(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
procedure BitBtn22Click(Sender: TObject);
procedure Edit24KeyPress(Sender: TObject; var Key: Char);
procedure Edit28KeyPress(Sender: TObject; var Key: Char);
procedure Edit25KeyPress(Sender: TObject; var Key: Char);
procedure Edit30KeyPress(Sender: TObject; var Key: Char);
procedure Edit33KeyPress(Sender: TObject; var Key: Char);
procedure Edit35KeyPress(Sender: TObject; var Key: Char);
procedure Edit36KeyPress(Sender: TObject; var Key: Char);
procedure Edit15KeyPress(Sender: TObject; var Key: Char);
procedure Edit17KeyPress(Sender: TObject; var Key: Char);
procedure TabSheet7Show(Sender: TObject);
procedure TabSheet5Show(Sender: TObject);
procedure Query6AfterPost(DataSet: TDataSet);
procedure DBGrid4CellClick(Column: TColumn);
procedure DBGrid16CellClick(Column: TColumn);
procedure Edit37KeyPress(Sender: TObject; var Key: Char);
procedure Edit32KeyPress(Sender: TObject; var Key: Char);
procedure Edit38KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure getlbmc;
private
{ Private declarations }
public
{ Public declarations }
end;
var
fixdatafm: Tfixdatafm;
a: array of Tcombobox;
b: array of Tlabel;
ii: integer;
lblist: string;
implementation
{$R *.DFM}
//query10,11,12,13,14,15,16,17,18用于固定表格
uses mylib, adodata;
//打开adoquery通用过程—OPEN方法
procedure OpenADOquery(adoqry: Tadoquery; sqltxt: string);
begin
ADOQry.Close;
ADOQry.SQL.Clear;
ADOQry.SQL.Add(sqltxt);
ADOQry.open;
end;
//执行adoquery通用过程—EXEC方法
procedure EXECADOquery(adoqry: Tadoquery; sqltxt: string);
begin
ADOQry.Close;
ADOQry.SQL.Clear;
ADOQry.SQL.Add(sqltxt);
ADOQry.ExecSQL;
end;
procedure Tfixdatafm.Edit14Change(Sender: TObject);
var
s, s1: string;
begin
s1 := trim(edit14.text) + '%';
s := 'select * from lkyg where xmdm like ''' + s1 + '''';
openadoquery(adodm.ADOQuery15, s);
if adodm.ADOQuery15.RecordCount = 1 then
begin
edit12.text := adodm.ADOQuery15.FieldValues['ygbh'];
// edit20.text := edit12.text;
edit13.text := adodm.ADOQuery15.FieldValues['xm'];
//列出员工资料
getlbmc;
s := 'select ' + lblist + ' from lkyg where ygbh=''' + edit12.Text + '''';
openadoquery(adodm.ADOQuery17, s);
end;
end;
procedure Tfixdatafm.DBGrid6CellClick(Column: TColumn);
var s, s1: string;
begin
edit13.text := adodm.adoquery15.FieldValues['xm'];
edit12.text := adodm.adoquery15.FieldValues['ygbh'];
// edit20.text := edit12.text;
s1 := edit12.Text; //员工编号
getlbmc;
s := 'select ' + lblist + ' from lkyg where ygbh=''' + s1 + '''';
openadoquery(adodm.ADOQuery17, s);
end;
procedure Tfixdatafm.TabSheet6Show(Sender: TObject);
begin
adodm.adoquery16.close;
adodm.adoquery16.Open;
end;
procedure Tfixdatafm.BitBtn5Click(Sender: TObject);
var s1, s: string;
begin
if trim(edit12.text) = '' then exit;
s1 := trim(edit12.text);
if MessageDlg('删除此员工及其发放记录,请确认!', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
//删除员工
s := 'delete from lkyg where ygbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
//删除发放记录
s := 'delete from ffjl where ygbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
MessageDlg('已经删除!', mtWarning, [mbOk], 0);
adodm.adoquery15.close;
adodm.adoquery17.close;
end;
end;
procedure Tfixdatafm.BitBtn4Click(Sender: TObject);
var s, s1, s2: string;
begin
s1 := adodm.adoquery16.FieldValues['bmmc'];
s2 := adodm.adoquery16.FieldValues['bmbh'];
s := 'update lkyg set bmbh=''' + s2 + ''' where ygbh=''' + trim(edit12.text) + '''';
execadoquery(adodm.ADOQuery2, s);
MessageDlg('更改部门完毕!', mtInformation, [mbOk], 0);
adodm.adoquery15.close;
adodm.adoquery17.close;
end;
procedure Tfixdatafm.BitBtn7Click(Sender: TObject);
var s, s1, s2, s3, s4, sqltxt: string;
begin
s1 := trim(edit17.Text);
s2 := trim(edit18.Text);
s3 := trim(edit19.Text);
s4 := trim(edit38.Text);
if (s1 = '') or (s2 = '') then exit;
if (s3 = '') or (s4 = '') then exit;
//检查工种是否存在
sqltxt := 'select gzbh from gz where gzbh=''' + s2 + ''' and gzmc=''' + s1 + '''';
openadoquery(adodm.ADOQuery2, sqltxt);
if adodm.ADOQuery2.RecordCount = 0 then
begin
//工种还不存在!
s := 'insert into gz (gzbh,gzmc) values(''' + s2 + ''',''' + s1 + ''')';
execadoquery(adodm.ADOQuery2, s);
end;
//判断劳保用品是否已存在
sqltxt := 'select lbmc from gzlb where gzbh=''' + s2 + ''' and lbmc=''' + s3 + '''';
openadoquery(adodm.ADOQuery2, sqltxt);
if adodm.ADOQuery2.RecordCount > 0 then
begin
MessageDlg('劳保用品已经存在!', mtWarning, [mbOK], 0);
exit;
end;
// 工种存在!,劳保不存在
s := 'insert into gzlb (gzbh,lbmc,ffzq) values(''' + s2 + ''',''' + s3 + ''',''' + s4 + ''')';
execadoquery(adodm.ADOQuery2, s);
MessageDlg('添加完毕,可以继续添加!', mtInformation, [mbOk], 0);
adodm.ADOQuery10.close;
adodm.ADOQuery10.open;
adodm.ADOQuery12.close;
adodm.ADOQuery12.open;
end;
procedure Tfixdatafm.BitBtn8Click(Sender: TObject);
var s, s1, s2: string;
begin
s1 := trim(edit15.text);
s2 := trim(edit16.text);
if (s1 = '') or (s2 = '') then exit;
s := 'select bmmc from bm where bmmc=''' + s2 + ''' or bmbh=''' + s1 + '''';
openadoquery(adodm.ADOQuery2, s);
if adodm.ADOQuery2.RecordCount > 0 then
begin
MessageDlg('已有此部门名称或部门编号,不能重复!', mtInformation, [mbOk], 0);
exit;
end;
s := 'insert into bm (bmbh,bmmc) values(''' + s1 + ''',''' + s2 + ''')';
execadoquery(adodm.ADOQuery2, s);
MessageDlg('添加部门完毕!', mtInformation, [mbOk], 0);
adodm.ADOQuery13.close;
adodm.ADOQuery14.close;
adodm.ADOQuery13.open;
adodm.ADOQuery14.open;
edit15.Text := '';
edit16.Text := '';
end;
procedure Tfixdatafm.BitBtn9Click(Sender: TObject);
var s, s1: string;
begin
if trim(edit21.text) = '' then exit;
s1 := trim(edit21.text);
if MessageDlg('删除部门的同时将删除所有本部门员工及其发放记录,请确认!', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
s := 'delete from bm where bmbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
//删除部门下所有员工
s := 'delete from lkyg where bmbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
//删除该部门所有员工的劳保发放记录
s := 'delete from ffjl where bmbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
MessageDlg('删除完毕!', mtInformation, [mbOk], 0);
adodm.ADOQuery13.close;
adodm.ADOQuery14.close;
adodm.ADOQuery13.open;
adodm.ADOQuery14.open;
edit21.Text := '';
end;
end;
procedure Tfixdatafm.DBGrid7CellClick(Column: TColumn);
begin
edit21.text := adodm.adoquery13.FieldValues['bmbh'];
end;
procedure Tfixdatafm.BitBtn10Click(Sender: TObject);
var
s, s1, s2, s3: string;
begin
s3 := trim(edit22.text); //新部门名称
s1 := adodm.adoquery13.FieldValues['bmmc']; //原部门名称
s2 := adodm.adoquery13.FieldValues['bmbh']; //部门编号
if (s1 = '') or (s3 = '') then exit;
s := 'select bmmc from bm where bmmc=''' + s3 + '''';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -