请高手帮忙看看excel导入sql数据库的问题给分100

wushuiyoushen 2013-08-24 11:31:23
Private Sub Command2_Click()
CommonDialog1.FileName = ""
CommonDialog1.Flags = 4096
CommonDialog1.Filter = "(*.xls)"
CommonDialog1.FilterIndex = 3
CommonDialog1.DialogTitle = "Open File(*.xls)"
CommonDialog1.Action = 1
If CommonDialog1.FileName = "" Then
MsgBox "no file selectd", 37, "checking"
Else
Dim Cn As ADODB.Connection
Dim strSQL As String
Dim lngRecsAff As Long

Set Cn = New ADODB.Connection

Cn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=xskf;Data Source=."
strSQL = "INSERT INTO 成品 select " & "姓名,性别 FROM " & "OPENROWSET('Microsoft.Jet.OLEDB.4.0'," & "'Excel 8.0;Database=" & CommonDialog1.FileName & "',Sheet1$)"

Debug.Print strSQL
Cn.Execute strSQL, lngRecsAff, adExecuteNoRecords

Debug.Print "Records affected: " & lngRecsAff
MsgBox "本次共导入" & lngRecsAff & "条记录!"
Cn.Close
Set Cn = Nothing

End If
这是将excel导入sql数据库,大家帮忙看看这段代码有什么错误的地方,在运行的时候'Microsoft.Jet.OLEDB.4.0'返回一个错误提示:找不到可安装的ISAM
怎么改呢
...全文
223 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqq_chen 2013-08-28
  • 打赏
  • 举报
回复
如果还是之前的提示,说明ADO版本有问题,你可以找找ADO2.7的试试
wushuiyoushen 2013-08-27
  • 打赏
  • 举报
回复
还是不行,我看不出哪里错了,能改我把程序发到我邮箱里吗,6906937@qq.com,多谢了
Tiger_Zhao 2013-08-26
  • 打赏
  • 举报
回复
引用 1 楼 wushuiyoushen 的回复:
"Data1" & CommonDialog1.FileName
这个不是正确的路径吧!
worldy 2013-08-26
  • 打赏
  • 举报
回复
引用 4 楼 zetor 的回复:
sql 语句有问题
ls的语句经测试是没有问题的,我只是将一个绝对路径改成了你的 CommonDialog1.FileName
wushuiyoushen 2013-08-25
  • 打赏
  • 举报
回复
还是不行,在关键字 in 后面有语法错误,还请各位帮忙
wushuiyoushen 2013-08-25
  • 打赏
  • 举报
回复
各位大侠请帮忙呀,急 在关键字 in 后面有语法错误,还请各位帮忙
wushuiyoushen 2013-08-24
  • 打赏
  • 举报
回复
更正一下代码是这样的 Dim strSQL As String Dim strconn As String CommonDialog1.FileName = "" CommonDialog1.Flags = 4096 CommonDialog1.Filter = "(*.xls)" CommonDialog1.FilterIndex = 3 CommonDialog1.DialogTitle = "Open File(*.xls)" CommonDialog1.Action = 1 If CommonDialog1.FileName = "" Then MsgBox "请选择文件路径", 48, "管理系统" Else Set rstemp = CreateObject("ADODB.Recordset") Set Cn = CreateObject("ADODB.Connection") strconn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=xskf;Data Source=." Cn.Open strconn CommonDialog1.ShowOpen strSQL = "select* into 成品 from openrowset('Microsoft.Jet.OLEDB.4.0','Excel14.0;HDR=Yes;database=Data1" & CommonDialog1.FileName & ";','select * from[sheet1$]') " rstemp.Open strSQL, cnn, 1, 1 MsgBox "数据导入成功!", vbExclamation + vbOKOnly Cn.Close Set conn = Nothing rstemp.Close Set rstemp = Nothing End If End Sub 这是将excel导入sql数据库,大家帮忙看看这段代码有什么错误的地方,在运行的时候'Microsoft.Jet.OLEDB.4.0'返回一个错误提示:找不到可安装的ISAM 怎么改呢
zetor 2013-08-24
  • 打赏
  • 举报
回复
sql 语句有问题
worldy 2013-08-24
  • 打赏
  • 举报
回复
Set Cn = CreateObject("ADODB.Connection") strconn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=xskf;Data Source=." cn.open strconn strSQL = "select* into 成品 from [Sheet1$] In '"& CommonDialog1.FileName &"' 'excel 8.0;HDR=YES;';" cn.execute strsql'使用cn.execute方法
worldy 2013-08-24
  • 打赏
  • 举报
回复
strSQL = "select* into 成品 from [Sheet1$] In '"& CommonDialog1.FileName &"' 'excel 8.0;HDR=YES;';"

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧