excel中固定的几组单元格数据使用VBA插入指定数据表中对应的字段

如下图excel格式,插入内容范文是A2~D12,有时候插入3行数据,有时候插入5行数据,最多一次性只让插入10行数据。如下图就是想插入三行数据到SQL数据库。数据库ip... 如下图excel格式,插入内容范文是A2~D12,有时候插入3行数据,有时候插入5行数据,最多一次性只让插入10行数据。如下图就是想插入三行数据到SQL数据库。

数据库ip是192.168.1.132,数据名称是:BTL_MRP,用户名:sa 密码:a123456
数据库表名是:对照表

我的代码是
Sub test()

Dim sht As Worksheet
Dim str As String, strSQL As String
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i As Integer

Set sht = ThisWorkbook.Worksheets("对照表")
strCn = "Provider=sqloledb;Server=192.168.1.132;Database=BTL_MRP;Uid=sa;Pwd=a123456A;"
cn.Open strCn

For i = 2 To 3
strSQL = strSQL & "insert into 对照表(客户代码,标签型号,配方型号,生产车间) values('& sht.Cells(i, 1).value & ', '& sht.Cells(i, 2).value & ' , '& sht.Cells(i, 3).value & ' , '& sht.Cells(i, 4).value & ');"
Next
cn.Execute strSQL
cn.Close

End Sub
执行到cn.Execute strSQL就报错了

能帮我看看吗,谢谢!原来的窗口老是提示超出字数范围,所以我就重新像你提问了。
展开
 我来答
百度网友fd932e1
2014-09-15 · 超过13用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:14.7万
展开全部
请在strsql = strsql & .... 前面(既for 语句后面)加入一条语句 strsql = ""
你如果不清空的话,strsql语句会把每次允许的结果都组成一个字符串
一般根据提示错误,说明sql语句有错误,你可以用设置一个断点或者在视图-本地窗口看一下strsql语句是什么内容
追问

上面的错误时(的问题,已经排除,现在是value后面的参数不对,没将excel单元格的数据插入,如图:

现在我该如何修改value后面的参数啊?真的非常感谢你

追答
strSQL & "insert into 对照表(客户代码,标签型号,配方型号,生产车间) values('& sht.Cells(i, 1).value & ', '& sht.Cells(i, 2).value & ' , '& sht.Cells(i, 3).value & ' , '& sht.Cells(i, 4).value & ');"里面的内容分开写怎么样
strSQL & "insert into 对照表(客户代码,标签型号,配方型号,生产车间) values(" & sht.cells(i,1).value & "," sht.cells(i,2).value 类推
ExcelOffice
2014-09-15 · TA获得超过570个赞
知道小有建树答主
回答量:1583
采纳率:0%
帮助的人:745万
展开全部
请对比下这个语句
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');
如果要添加的值是文本需要用单引号括起来。你监视下STRsql就可以知道对不对了。
来自:求助得到的回答
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式