excel导入VB

来源:百度知道 编辑:UC知道 时间:2024/05/22 10:12:31
用VB代码插入的时候,excel表中有一列前几行数据是空的,结果整个一列都导不进access,还有一列是日期格式,但有些却是常规格式,结果这一列中常规格式的也导不进去,代码如下,望高手能协助解决,谢谢。

sub ImportToAccess()
on error resume next
dim db1 as database, db2 as database
'打开excel表
set db1=opendatabase("d:\111.xls",true,false,"Excel 5.0")
'删除acces表中数据
db1.execute "delete * from [;database='d:\222.mdb'].ssc"
'读取excel表中字段,共3个字段,其中第2个字段是日期格式,问题就在这里,有些非日期型的数据就算用了cdate函数也导不进去
fields1=""
for a=0 to 2
if a=1 then
fields1=fields1 + "cdate(["_ _+db1.tabledefs("sheet1$").fields(a).name + "]), "
else
fields1=fields1 + "trim(["_ _+db1.tabledefs("sheet1$").fields(a).name + "]), "
end if
next
fields1=left(fields1,len(fields1)-2)
’读取acces表中字段
set db2=opendatabase("d:\222.mdb")
table2=db2.tabledefs("ssc")
fields2=&quo

不要用数据库的记录集方法导入
你改用excel application直接操作excel挨个读取单元格再放入到对应数据库字段中,一个循环就搞定 也不用管它什么格式
当然实际操作时有些数据写过去会有变化,那样就在读出单元格时做相应的转换再放进数据库记录中

我学得你该用一下Office VBA

出现非法数据后无法导入
你可以手动讲数据修改
然后再导入即可