|
|
/var
//i_fri:integer;
var
i:integer;
begin
if OpenDialog1.Execute then
begin
{dm.ADOQuery1.DisableControls;
i_fri:=length(extractfilename(opendialog1.FileName));
dm.ADOCommand1.CommandText :='Insert XLImport3(卡号,工号,姓名,性别,部门,职位,入职日期,出生年月,学历,'+
'籍贯,民族,婚否,联系电话,基本工资,工资类别,上班类别,身高,体重,银行帐号,社保编号,户口地址,身份证ID)'+
'select 卡号,工号,姓名,性别,部门,职位,入职日期,出生年月,学历,籍贯,民族,婚否,联系电话,基本工资,工资类别,'+
'上班类别,身高,体重,银行帐号,社保编号,户口地址,身份证ID FROM OPENDATASOURCE(''Microsoft.Jet.OLEDB.4.0'',''Data Source='+opendialog1.FileName+';Extended Properties=Excel 8.0'')...['+copy(extractfilename(opendialog1.FileName),1,i_fri-4)+'$]';
dm.ADOCommand1.Execute; }
try
//dm.ADOQuery1.DisableControls;
dm.ADOConnection2.Connected:=false;
dm.ADOConnection2.Provider:='Microsoft.Jet.OLEDB.4.0;Data Source='+OpenDialog1.FileName+';Extended Properties=Excel 8.0 ersist Security Info=False';
dm.ADOConnection2.Connected:=true;
i:=length(extractfilename(opendialog1.FileName));//文件名总长度
dm.ADOQuery16.Close;
dm.ADOQuery16.SQL.Clear;
dm.ADOQuery16.SQL.Add('select * from ['+copy(extractfilename(opendialog1.FileName),1,i-4)+'$]');
dm.ADOQuery16.open;
dm.ADOQuery16.first;
suiprogressbar1.max:=dm.ADOQuery16.RecordCount;
suiprogressbar1.Visible:=true;
dm.ADOQuery22.Open;
dm.ADOQuery1.Open;
while not dm.ADOQuery16.eof do
begin
//以下代码防止有重复的记录录入到表中来
dm.ADOQuery22.Close;
dm.ADOQuery22.SQL.Clear;
dm.ADOQuery22.SQL.Add('select * from XLImport3 where 工号= '+QuotedStr(dm.ADOQuery16.Fieldbyname('工号').asstring));
dm.ADOQuery22.Open;
if dm.ADOQuery22.IsEmpty then //如果没有发现有记录的话就录入记录到表中来
begin
dm.ADOQuery1.Append;
dm.ADOQuery1.Fieldbyname('卡号').asstring:=dm.ADOQuery16.Fieldbyname('卡号').asstring ;
dm.ADOQuery1.Fieldbyname('工号').asstring:=dm.ADOQuery16.Fieldbyname('工号').asstring ;
dm.ADOQuery1.Fieldbyname('姓名').asstring:=dm.ADOQuery16.Fieldbyname('姓名').asstring;
dm.ADOQuery1.Fieldbyname('性别').asstring:=dm.ADOQuery16.Fieldbyname('性别').asstring ;
dm.ADOQuery1.Fieldbyname('部门').asstring:=dm.ADOQuery16.Fieldbyname('部门').asstring ;
dm.ADOQuery1.Fieldbyname('职位').asstring:=dm.ADOQuery16.Fieldbyname('职位').asstring ;
dm.ADOQuery1.Fieldbyname('入职日期').asstring:=dm.ADOQuery16.Fieldbyname('入职日期').asstring ;
dm.ADOQuery1.Fieldbyname('出生年月').asstring:=dm.ADOQuery16.Fieldbyname('出生年月').asstring;
dm.ADOQuery1.Fieldbyname('学历').asstring:=dm.ADOQuery16.Fieldbyname('学历').asstring ;
dm.ADOQuery1.Fieldbyname('籍贯').asstring:=dm.ADOQuery16.Fieldbyname('籍贯').asstring;
dm.ADOQuery1.Fieldbyname('民族').asstring:=dm.ADOQuery16.Fieldbyname('民族').asstring ;
dm.ADOQuery1.Fieldbyname('婚否').asstring:=dm.ADOQuery16.Fieldbyname('婚否').asstring;
dm.ADOQuery1.Fieldbyname('联系电话').asstring:=dm.ADOQuery16.Fieldbyname('联系电话').asstring;
dm.ADOQuery1.Fieldbyname('基本工资').asstring:=dm.ADOQuery16.Fieldbyname('基本工资').asstring;
dm.ADOQuery1.Fieldbyname('上班类别').asstring:=dm.ADOQuery16.Fieldbyname('上班类别').asstring;
dm.ADOQuery1.Fieldbyname('身高').asstring:=dm.ADOQuery16.Fieldbyname('身高').asstring;
dm.ADOQuery1.Fieldbyname('体重').asstring:=dm.ADOQuery16.Fieldbyname('体重').asstring ;
dm.ADOQuery1.Fieldbyname('银行帐号').asstring:=dm.ADOQuery16.Fieldbyname('银行帐号').asstring ;
dm.ADOQuery1.Fieldbyname('社保编号').asstring:=dm.ADOQuery16.Fieldbyname('社保编号').asstring;
dm.ADOQuery1.Fieldbyname('户口地址').asstring:=dm.ADOQuery16.Fieldbyname('户口地址').asstring ;
dm.ADOQuery1.Fieldbyname('身份证ID').asstring:=dm.ADOQuery16.Fieldbyname('身份证ID').asstring ;
dm.ADOQuery1.Fieldbyname('工资类别').asstring:=dm.ADOQuery16.Fieldbyname('工资类别').asstring ;
dm.ADOQuery1.post;
end;
dm.adoquery16.next; //下移一个记录
suiprogressbar1.Position:= suiprogressbar1.Position+1; //过度条动一格
end;
dm.adoquery16.close;
dm.ADOConnection2.Connected:=false;
suiprogressbar1.Visible:=false;
suiprogressbar1.Position:=0;
DM.ADOCommand1.CommandText:='delete XLImport3 where 入职日期='''''; //清除入职日期为空的记录
dm.ADOCommand1.Execute;
DM.ADOCommand1.CommandText:='Update XLImport3 SET 是否已办厂证=''否'',是否离职=''否'',是否已转正=''否''where 数据日期 is null' ;
dm.ADOCommand1.Execute;
//FDOM(date())
DM.ADOCommand1.CommandText:='Update XLImport3 SET 数据日期='+ QuotedStr(datetostr(FDOM(date())))+'where 数据日期 is null' ;
dm.ADOCommand1.Execute;
Application.messagebox('导入操作成功!','操作提示',0+64);
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('select * from XLImport3');
dm.ADOQuery1.Open;
// dm.ADOQuery1.EnableControls;
except
Application.messagebox('无效的数据文件,'+#13+'请你用EXCEL打开一次该文件'+#13+'然后在EXCEL中保存一次再试','错误提示',0+16);
dm.ADOQuery16.Close;
dm.ADOConnection2.Connected:=false;
end;
end; |
|