📄 form_mianqianka.pas
字号:
combobox1.Items.Add('ALL...');
combobox1.text:='ALL...';
end;
procedure Tformmianqianka.Button5Click(Sender: TObject);
begin
close;
end;
procedure Tformmianqianka.SpeedButton2Click(Sender: TObject);
begin
dsmianqianka.DataSet.Cancel;
end;
procedure Tformmianqianka.SpeedButton3Click(Sender: TObject);
var
date_i,startdatetime,enddatetime,operation,remark,mtype,times,workno:string;
i:integer;
begin
date_i:=dbedit6.Text;
startdatetime:=copy(dbedit1.text,1,10);
enddatetime:=dbedit2.text;
times:=dbedit3.text;
operation:=dbcombobox4.Text;
mtype:=DBRadioGroup1.Items[DBRadioGroup1.itemindex];
remark:=dbmemo1.Text;
adomqk.Cancel;
adomqk.Close;
try
for i:=0 to (listbox1.Items.Count-1) do
begin
if listbox1.Selected[i] then
begin
personal.Close;
personal.SQL.Clear;
workno:=copy(listbox1.Items[i],1,pos('--',listbox1.items[i])-1);
personal.SQL.add(' insert into atd24010(workno,cardno,workname,startdatetime,enddatetime,times,type,operation,date_i,remark,process) '+
' select workno,cardno,name,'''+
startdatetime+''','''+
enddatetime+''','+
times+','''+
mtype+''','''+
operation+''','''+
date_i+''','''+
remark+''',0 '+
' from per24010 where workno='''+workno+'''');
//personal.sql.add('exec kaoqinnor24 '''+startdatetime+''','''+workno+'''');
//personal.sql.add('exec kaoqindm '''+startdatetime+''','''+workno+'''');
personal.ExecSQL;
personal.close;
end;
end;
Application.messagebox('多人新增完成!','恭喜你',mb_ok+mb_iconinformation);
statusbar1.Panels[0].text:='多人新增完成!';
except
Application.messagebox('多人新增签卡时出错,请重新来过!','Error',mb_ok+mb_iconerror);
end;
adomqk.Open;
{if (adomqk.state=dsinsert) or (adomqk.state=dsedit) then
begin
adomqk.Post;
statusbar1.panels[0].text:='完成数据更新操作!'
end else
statusbar1.panels[0].text:='注意:数据集不处于编辑状态,操作无效!' ; }
end;
procedure Tformmianqianka.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Formmianqianka:=nil;
Action:=caFree;
end;
procedure Tformmianqianka.ComboBox1Change(Sender: TObject);
begin
personal.Close;
personal.SQL.text:='select workno,cardno,name,dept from per24010 where dept = case when '''+combobox1.Text+'''=''ALL...'' then dept else '''+combobox1.Text+''' end and leave=0 and brushcard=0 order by workno ';
personal.Open;
if not personal.Eof then listbox1.Items.Clear
else begin
listbox1.Items.clear;
adomqk.filtered:=false;
adomqk.filter:='workno=''''';
adomqk.filtered:= true;
statusbar1.panels[0].text:='注意!该部门暂时无人。' ;
end;
while not personal.Eof do
begin
listbox1.Items.Add(personal.fieldbyname('workno').value+'--'+personal.fieldbyname('name').value+'//'+personal.fieldbyname('dept').value);
personal.next; //+personal.fieldbyname('cardno').value+'||'
end;
listbox1.Update;
personal.Close;
if listbox1.Items.Count>0 then
begin
adomqk.filtered:=false;
adomqk.Filter:='workno='''+copy(listbox1.Items[0],1,pos('--',listbox1.items[0])-1)+'''';
adomqk.filtered:=true;
statusbar1.panels[0].text:='部门 ['+combobox1.text+'] 有员工 '+trim(inttostr(listbox1.items.count))+' 人';
end;
end;
procedure Tformmianqianka.ListBox1Click(Sender: TObject);
begin
if (listbox1.itemindex>=0) and (listbox1.selcount=1) then
begin
adomqk.filtered:=false;
adomqk.Filter:='workno='''+copy(listbox1.Items[listbox1.itemindex],1,pos('--',listbox1.items[listbox1.itemindex])-1)+'''';
adomqk.filtered:=true;
statusbar1.Panels[0].text:='查询员工的签卡资料';
end;
end;
procedure Tformmianqianka.ListBox1DblClick(Sender: TObject);
var
workno:string;
begin
workno:=copy(listbox1.items[listbox1.itemindex],1,pos('--',listbox1.items[listbox1.itemindex])-1);
personal.close;
personal.sql.Clear;
personal.sql.text:='select workno,name,cardno from per24010 where workno='''+workno+''' and leave=0 and brushcard=0';
personal.open;
if not personal.eof then
begin
if adomqk.state=dsinactive then adomqk.open;
adomqk.Insert;
adomqkworkno.value:=personal.fieldbyname('workno').value;
adomqkcardno.value:=personal.fieldbyname('cardno').value;
adomqkworkname.value:=personal.fieldbyname('name').value;
statusbar1.Panels[0].text:='新增单笔员工签卡资料!';
end;
personal.close;
end;
procedure Tformmianqianka.SpeedButton1Click(Sender: TObject);
begin
adomqk.filtered:=false;
statusbar1.Panels[0].text:='查询所有签卡资料!';
end;
procedure Tformmianqianka.adomqkBeforePost(DataSet: TDataSet);
begin
//if (adomqkdate_i.IsNull) or (trim(datetostr(adomqkdate_i.AsDateTime))='') then
// begin
adomqkdate_i.asdatetime:=now;
// personal.close;
// personal.SQL.Clear;
// personal.SQL.add('exec kaoqinnor24 '''+copy(adomqkstartdatetime.value,1,10)+''','''+adomqkworkno.value+'''');
//personal.sql.add('exec kaoqindm '''+copy(adomqkstartdatetime.value,1,10)+''','''+adomqkworkno.value+'''');
adomqk.Close;
// personal.ExecSQL;
// personal.Close;
// personal.SQL.Clear;
adomqk.Open;
// end;
end;
procedure Tformmianqianka.DateTimePicker1Change(Sender: TObject);
begin
if (adomqk.state=dsinsert) or (adomqk.state=dsedit) then
adomqkdate_i.value:=datetimepicker1.date;
dbedit6.Update;
end;
procedure Tformmianqianka.ListBox1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
statusbar1.Panels[0].text:='查询单个员工的签卡资料!';
end;
procedure Tformmianqianka.DBGrid1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
statusbar1.Panels[0].text:='签卡资料明细!';
end;
procedure Tformmianqianka.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure Tformmianqianka.Button1Click(Sender: TObject);
var
date_i,startdatetime,enddatetime,operation,remark,mtype,times,workno:string;
i:integer;
begin
date_i:=dbedit6.Text;
startdatetime:=dbedit1.text;
enddatetime:=dbedit2.text;
times:=dbedit3.text;
operation:=dbcombobox4.Text;
mtype:=DBRadioGroup1.Items[DBRadioGroup1.itemindex];
remark:=dbmemo1.Text;
adomqk.Cancel;
adomqk.Close;
try
for i:=0 to (listbox1.Items.Count-1) do
begin
if listbox1.Selected[i] then
begin
workno:=copy(listbox1.Items[i],1,pos('--',listbox1.items[i])-1);
adoquery1.Close;
adoquery1.sql.Clear;
adoquery1.sql.add('delete atd24010 where workno='''+workno+''' and startdatetime='''+copy(startdatetime,1,10)+''' ');
adoquery1.execsql;
personal.Close;
personal.SQL.Clear;
personal.SQL.add(' insert into atd24010(workno,cardno,workname,startdatetime,enddatetime,times,type,operation,date_i,remark,process) '+
' select workno,cardno,name,'''+
startdatetime+''','''+
enddatetime+''','+
times+','''+
mtype+''','''+
operation+''','''+
date_i+''','''+
remark+''',0 '+
' from per24010 where workno='''+workno+'''');
personal.ExecSQL;
personal.close;
end;
end;
Application.messagebox('保存完成!','恭喜你',mb_ok+mb_iconinformation);
statusbar1.Panels[0].text:='保存完成!';
except
Application.messagebox('新增签卡时出错,请重新来过!','Error',mb_ok+mb_iconerror);
end;
adomqk.Open;
end;
procedure Tformmianqianka.DBEdit3Exit(Sender: TObject);
begin
// dbedit3.text:=datetostr(strtodate(dbedit1.text)-strtodate(dbedit2.text));
end;
procedure Tformmianqianka.DBEdit2Exit(Sender: TObject);
begin
adomqk.fieldbyname('times').asstring:=floattostr((strtodatetime(dbedit2.text)-strtodatetime(dbedit1.text))*24);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -