如何解决无法在带有 Access db 的 VBA Excel 查询中使用变量作为列名
Dim sqlStr As String
sqlStr = "UPDATE amenities SET [Accessible Parking On Site]='" & newName & _
"' WHERE HostelKey='" & hostel & "';"
此查询更新右侧字段中的访问数据库。
我的问题是我无法让它与字段 [Accessible Parking On Site]
一起使用作为变量。 (newName
和 hostel
是变量,我在字段名称周围使用 []
,因为表中的某些字段名称有空格)。
解决方法
类似于您已经在使用的变量...
Dim SQLStr As String,fieldName As String
fieldName = "Accessible Parking On Site"
SQLStr = "UPDATE amenities SET [" & fieldName & "]='" & newName & _
"' WHERE HostelKey='" & hostel & "';"
,
你可以这样试试吗?
Sub ImportDataFromExcel()
Dim rng As Range
Dim r As Long
Dim conn As ADODB.Connection
Dim strConn As String
Dim strSQL As String
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
"C:\your_path_here\Northwind.mdb"
Set conn = New ADODB.Connection
conn.Open strConn
With Worksheets("Sheet1")
lastrow = .Range("A2").End(xlDown).Row
lastcolumn = .Range("A2").End(xlToRight).Column
Set rng = .Range(.Cells(lastrow,1),.Cells(lastrow,lastcolumn))
End With
'therow = 1
For i = 2 To lastrow
'r = rng.Row
'If r > 1 Then
strSQL = "UPDATE PersonInformation SET " & _
"AnewNamege=" & Worksheets("Sheet1").Range("A" & i).Value & " WHERE " & _
"hostel=" & Worksheets("Sheet1").Range("B" & i).Value
conn.Execute strSQL
'End If
'r = r + 1
Next i
conn.Close
Set conn = Nothing
End Sub
另外,设置适当的引用...转到工具引用,然后选中“Microsoft ActiveX 数据对象 2.6 对象库”框。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。