procedure TForm1.Button1Click(Sender: TObject);
var
sSql, mdbpath, xlspath: string;
begin
if (trim(edit1.Text) = '') or (trim(edit2.Text) = '') then
begin
MessageBox(GetActiveWindow(), '请正确选择相关路径!', '警告', MB_OK +
MB_ICONWARNING);
exit;
end;
mdbpath := trim(edit1.Text); //MDB路径
xlspath := trim(edit2.Text); //Excel路径
dm1.ADOConnection1.Connected := False;
try
dm1.ADOConnection1.ConnectionString :=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
mdbpath + ';Persist Security Info=False';
dm1.ADOConnection1.Connected := true;
adoquery1.Connection:=dm1.ADOConnection1 ;
try
adoquery1.Close;
adoquery1.SQL.Clear;
sSql :=
'INSERT INTO sjb (jfbh, dhhm, hf, wyj, syyfj, yjfy, cqmc)' +
' SELECT' +
' 缴费编号, 设备号码, 话费, 违约金, 使用预付金, 应缴费用, 产权名称' +
' FROM [excel 8.0;database=' + xlspath + '].[Sheet1$]';
adoquery1.Parameters.Clear;
adoquery1.ParamCheck := false;
adoquery1.SQL.Text := sSql;
adoquery1.Execsql;
MessageBox(GetActiveWindow(), '批量导入EXCEL成功!', '警告', MB_OK +
MB_ICONWARNING);
form2:=tform2.create(nil);
with form2.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:='select jfbh as 缴费编号, dhhm as 设备号码, hf as 话费, wyj as 违约金, syyfj as 使用预付金, yjfy as 应缴费用, cqmc as 产权名称 FROM sjb ';
Open;
end;
form2.ShowModal;
form2.Free;
except
MessageBox(GetActiveWindow(), '批量导入EXCEL失败!', '警告', MB_OK +
MB_ICONWARNING);
end;
except
MessageBox(GetActiveWindow(), '连接ACCESS失败!', '警告', MB_OK +
MB_ICONWARNING);
end;
end;
Excel中的“设备号码”字段的数如下:
设备号码 。
111111
222232
456546
344566
D97157
DAFGH2
A9HGY2
只有是纯数字组成的行能够导入到access中,那些含有英文的行就导不进
请问是什么回事???????
var
sSql, mdbpath, xlspath: string;
begin
if (trim(edit1.Text) = '') or (trim(edit2.Text) = '') then
begin
MessageBox(GetActiveWindow(), '请正确选择相关路径!', '警告', MB_OK +
MB_ICONWARNING);
exit;
end;
mdbpath := trim(edit1.Text); //MDB路径
xlspath := trim(edit2.Text); //Excel路径
dm1.ADOConnection1.Connected := False;
try
dm1.ADOConnection1.ConnectionString :=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
mdbpath + ';Persist Security Info=False';
dm1.ADOConnection1.Connected := true;
adoquery1.Connection:=dm1.ADOConnection1 ;
try
adoquery1.Close;
adoquery1.SQL.Clear;
sSql :=
'INSERT INTO sjb (jfbh, dhhm, hf, wyj, syyfj, yjfy, cqmc)' +
' SELECT' +
' 缴费编号, 设备号码, 话费, 违约金, 使用预付金, 应缴费用, 产权名称' +
' FROM [excel 8.0;database=' + xlspath + '].[Sheet1$]';
adoquery1.Parameters.Clear;
adoquery1.ParamCheck := false;
adoquery1.SQL.Text := sSql;
adoquery1.Execsql;
MessageBox(GetActiveWindow(), '批量导入EXCEL成功!', '警告', MB_OK +
MB_ICONWARNING);
form2:=tform2.create(nil);
with form2.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:='select jfbh as 缴费编号, dhhm as 设备号码, hf as 话费, wyj as 违约金, syyfj as 使用预付金, yjfy as 应缴费用, cqmc as 产权名称 FROM sjb ';
Open;
end;
form2.ShowModal;
form2.Free;
except
MessageBox(GetActiveWindow(), '批量导入EXCEL失败!', '警告', MB_OK +
MB_ICONWARNING);
end;
except
MessageBox(GetActiveWindow(), '连接ACCESS失败!', '警告', MB_OK +
MB_ICONWARNING);
end;
end;
Excel中的“设备号码”字段的数如下:
设备号码 。
111111
222232
456546
344566
D97157
DAFGH2
A9HGY2
只有是纯数字组成的行能够导入到access中,那些含有英文的行就导不进
请问是什么回事???????
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货