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就报错了
能帮我看看吗,谢谢!原来的窗口老是提示超出字数范围,所以我就重新像你提问了。 展开
数据库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就报错了
能帮我看看吗,谢谢!原来的窗口老是提示超出字数范围,所以我就重新像你提问了。 展开
2个回答
展开全部
请在strsql = strsql & .... 前面(既for 语句后面)加入一条语句 strsql = ""
你如果不清空的话,strsql语句会把每次允许的结果都组成一个字符串
一般根据提示错误,说明sql语句有错误,你可以用设置一个断点或者在视图-本地窗口看一下strsql语句是什么内容
你如果不清空的话,strsql语句会把每次允许的结果都组成一个字符串
一般根据提示错误,说明sql语句有错误,你可以用设置一个断点或者在视图-本地窗口看一下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 & ');"里面的内容分开写怎么样
strSQL & "insert into 对照表(客户代码,标签型号,配方型号,生产车间) values(" & sht.cells(i,1).value & "," sht.cells(i,2).value 类推
展开全部
请对比下这个语句
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');
如果要添加的值是文本需要用单引号括起来。你监视下STRsql就可以知道对不对了。
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');
如果要添加的值是文本需要用单引号括起来。你监视下STRsql就可以知道对不对了。
来自:求助得到的回答
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询