vb 从excel表格导入到数据到access数据库问题

p1=CommonDialog1.FileNameDimconnAsADODB.ConnectionSetconn=NewADODB.Connectionconn.Ope... p1 = CommonDialog1.FileName
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Open "PROVIDER = Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\db2.mdb"
sqlstmt = "drop table 工艺评定 " '先删除
conn.Execute sqlstmt
sqlstmt = "select * into 工艺评定 from [excel 8.0;database=" & p1 & "].[sheet1$]"
conn.Execute sqlstmt
conn.Close
Set conn = Nothing

这样能操作,但问题是我必须先删除工艺评定这个表,要不然用select * into 工艺评定这句会出错,提示表已经存在。但执行drop table工艺评定还老是出错,有时会提示正在使用,删不掉,
有什么简洁的办法吗,最好不用先删除原先的数据表“工艺评定”,我只想将对话框中的excel文件中的数据 替换assess的文件
展开
 我来答
damyzl
2018-04-27 · TA获得超过1586个赞
知道大有可为答主
回答量:1475
采纳率:74%
帮助的人:903万
展开全部
你只是要删除数据而不是删除表,所以用 Delete 语句而不是 Drop Table,后面不加 where 子句就是删除全部数据。
插入数据用 Insert into ... (select ...)
如果还是不行,你可以借助记录集对象 Recordset 把数据读出来,然后再写入Access,这样需要一个循环,额外花费一点时间。一般来说这样需要两个Connection对象来分连接Excel和Access,当然你的代码直接把数据库写在 Select 语句中也可以,就是不好排错。
pieryon
2018-04-22 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166869
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
肯定不能执行drop 语句啊
追问
那用什么语句啊
追答
不是这么玩的,思路完全错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式