📄 fuzhu.pas
字号:
unit fuzhu;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, Db, DBTables, ADODB, ComCtrls, Grids, DBGrids;
type
Tfuzhufm = class(TForm)
PageControl1: TPageControl;
TabSheet7: TTabSheet;
StatusBar1: TStatusBar;
TabSheet1: TTabSheet;
Panel1: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Button2: TButton;
Panel2: TPanel;
Panel3: TPanel;
DBGrid23: TDBGrid;
Button1: TButton;
Panel4: TPanel;
DBGrid17: TDBGrid;
GroupBox2: TGroupBox;
ListBox1: TListBox;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Button3: TButton;
DBGrid1: TDBGrid;
Label5: TLabel;
Label6: TLabel;
Edit4: TEdit;
Button4: TButton;
Button5: TButton;
Button6: TButton;
procedure Button1Click(Sender: TObject);
procedure DBGrid23CellClick(Column: TColumn);
procedure TabSheet7Show(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Button2Click(Sender: TObject);
procedure TabSheet1Show(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fuzhufm: Tfuzhufm;
a: array of Tcombobox;
b: array of Tlabel;
ii: integer;
implementation
{$R *.DFM}
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 Tfuzhufm.Button1Click(Sender: TObject);
var s, s1, s2, s3: string;
begin
s := 'select * from lkyg';
openadoquery(adodm.adoquery23, s);
s := 'select ygbh from lkyg where xb="男"';
openadoquery(adodm.ADOQuery2, s);
s1 := inttostr(adodm.ADOQuery23.RecordCount);
s2 := inttostr(adodm.ADOQuery2.RecordCount);
s3 := inttostr(adodm.ADOQuery23.RecordCount - adodm.ADOQuery2.RecordCount);
StatusBar1.Panels[1].Text := s1;
StatusBar1.Panels[3].Text := s2;
StatusBar1.Panels[5].Text := s3;
end;
procedure Tfuzhufm.DBGrid23CellClick(Column: TColumn);
var s, s1, s3, s2: string;
begin
if adodm.adoquery22.RecordCount = 0 then exit;
s1 := adodm.adoquery22.FieldValues['bmbh'];
s := 'select * from lkyg where bmbh=''' + s1 + '''';
openadoquery(adodm.ADOQuery23, s);
s := 'select ygbh from lkyg where bmbh=''' + s1 + ''' and xb="男"';
openadoquery(adodm.ADOQuery2, s);
s1 := inttostr(adodm.ADOQuery23.RecordCount);
s2 := inttostr(adodm.ADOQuery2.RecordCount);
s3 := inttostr(adodm.ADOQuery23.RecordCount - adodm.ADOQuery2.RecordCount);
StatusBar1.Panels[1].Text := s1;
StatusBar1.Panels[3].Text := s2;
StatusBar1.Panels[5].Text := s3;
end;
procedure Tfuzhufm.TabSheet7Show(Sender: TObject);
begin
adodm.adoquery22.Close;
adodm.adoquery22.open;
end;
procedure Tfuzhufm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adodm.ADOQuery2.Close;
adodm.ADOQuery9.Close;
adodm.ADOQuery22.Close;
adodm.ADOQuery23.Close;
adodm.ADOQuery26.Close;
Action := caFree;
end;
procedure Tfuzhufm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', #8, #13]) then key := #0;
if key = #13 then edit2.SetFocus;
end;
procedure Tfuzhufm.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', #8, #13]) then key := #0;
if key = #13 then button2.SetFocus;
end;
procedure Tfuzhufm.Button2Click(Sender: TObject);
var s, s1, s2: string;
begin
s1 := edit1.Text;
s2 := edit2.Text;
if (s1 = '') or (s2 = '') then
begin
showmessage('原编号和新编号缺一不可!');
exit;
end;
s := 'select ygbh from lkyg where ygbh=''' + s1 + '''';
openadoquery(adodm.ADOQuery2, s);
if adodm.ADOQuery2.RecordCount = 0 then
begin
showmessage('原编号不存在!');
edit1.SetFocus;
exit;
end;
s := 'select ygbh from lkyg where ygbh=''' + s2 + '''';
openadoquery(adodm.ADOQuery2, s);
if adodm.ADOQuery2.RecordCount = 1 then
begin
showmessage('新编号已存在!');
edit2.SetFocus;
exit;
end;
//更改员工主库编号
s := 'update lkyg set ygbh=''' + s2 + ''' where ygbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
//更改劳保发放记录中的编号
s := 'update ffjl set ygbh=''' + s2 + ''' where ygbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
//更改劳保发放临时记录中的编号
s := 'update fftmp set ygbh=''' + s2 + ''' where ygbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
showmessage('员工编号更改完毕!');
end;
procedure Tfuzhufm.TabSheet1Show(Sender: TObject);
var sqltxt: string;
i: integer;
begin
sqltxt := 'select lbmc from ygglb';
openadoquery(adodm.adoquery9, sqltxt);
listbox1.Clear;
for i := 1 to adodm.ADOQuery9.RecordCount do
begin
listbox1.Items.Add(adodm.adoquery9.FieldValues['lbmc']);
adodm.ADOQuery9.Next;
end;
end;
procedure Tfuzhufm.Button3Click(Sender: TObject);
var s1, s2, s3: string;
begin
s3 := 'ygglb';
s2 := trim(edit3.Text);
if s2 = '' then exit;
s1 := 'select * from ygglb where lbmc=''' + s2 + '''';
openadoquery(adodm.adoquery9, s1);
if adodm.adoquery9.RecordCount > 0 then
begin
showmessage('已存在同名劳保用品!');
exit;
end;
s1 := 'insert into ygglb (lbmc) values(''' + s2 + ''')';
execadoquery(adodm.ADOQuery9, s1);
listbox1.Items.Add(s2);
//增加字段
s1 := 'ALTER table lkyg ADD ' + s2 + ' CHAR(6)';
execadoquery(adodm.ADOQuery9, s1);
MessageDlg('添加完毕!请接着为其添加规格!', mtInformation, [mbOk], 0);
end;
procedure Tfuzhufm.ListBox1Click(Sender: TObject);
var s1, sqltxt: string;
begin
s1 := listbox1.Items[listbox1.ItemIndex];
if s1 = '' then exit;
sqltxt := 'select ggg from lbgg where glbmc=''' + s1 + '''';
openadoquery(adodm.ADOQuery26, sqltxt);
end;
procedure Tfuzhufm.Button4Click(Sender: TObject);
var s1, s2, s3, sqltxt: string;
begin
if listbox1.ItemIndex = -1 then
begin
showmessage('请先选择劳保用品名称!');
exit;
end;
s1 := listbox1.Items[listbox1.ItemIndex];
s2 := trim(edit4.Text);
s3 := 'insert into lbgg (glbmc,ggg) values(''' + s1 + ''',''' + s2 + ''')';
execadoquery(adodm.ADOQuery9, s3);
MessageDlg('添加完毕!可继续添加!', mtInformation, [mbOk], 0);
sqltxt := 'select ggg from lbgg where glbmc=''' + s1 + '''';
openadoquery(adodm.ADOQuery26, sqltxt);
end;
procedure Tfuzhufm.Button5Click(Sender: TObject);
var s1, s2, s3, sqltxt: string;
begin
if MessageDlg('你真的要删除吗?删除后将无法恢复!', mtWarning, [mbno, mbYes], 0) = mryes then
begin
s2 := listbox1.Items[listbox1.ItemIndex];
s1 := 'delete from ygglb where lbmc=''' + s2 + '''';
execadoquery(adodm.ADOQuery9, s1);
s1 := 'delete from lbgg where glbmc=''' + s2 + '''';
execadoquery(adodm.ADOQuery9, s1);
s1 := 'ALTER table lkyg drop ' + s2;
execadoquery(adodm.ADOQuery9, s1);
MessageDlg('删除完毕!', mtInformation, [mbOk], 0);
listbox1.Items.Delete(listbox1.ItemIndex);
adodm.ADOQuery26.Close;
end;
end;
procedure Tfuzhufm.Button6Click(Sender: TObject);
var s1, s2, s3, sqltxt: string;
begin
if listbox1.ItemIndex = -1 then
begin
showmessage('请先选择劳保用品名称!');
exit;
end;
s2 := adodm.ADOQuery26.FieldValues['ggg'];
if s2 = '' then exit;
s1 := listbox1.Items[listbox1.ItemIndex];
s3 := 'delete from lbgg where glbmc=''' + s1 + ''' and ggg=''' + s2 + '''';
execadoquery(adodm.ADOQuery9, s3);
MessageDlg('删除完毕!', mtInformation, [mbOk], 0);
sqltxt := 'select ggg from lbgg where glbmc=''' + s1 + '''';
openadoquery(adodm.ADOQuery26, sqltxt);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -