Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t使用Access db在VBA Excel查询中使用变量作为列名 Dim SQLStr作为字符串 SQLStr=“更新便利设施设置[现场无障碍停车]=”&newName&_ “WHERE HostelKey=”&hostel&“;”_Sql_Excel_Vba_Ms Access - Fatal编程技术网

Can';t使用Access db在VBA Excel查询中使用变量作为列名 Dim SQLStr作为字符串 SQLStr=“更新便利设施设置[现场无障碍停车]=”&newName&_ “WHERE HostelKey=”&hostel&“;”

Can';t使用Access db在VBA Excel查询中使用变量作为列名 Dim SQLStr作为字符串 SQLStr=“更新便利设施设置[现场无障碍停车]=”&newName&_ “WHERE HostelKey=”&hostel&“;”,sql,excel,vba,ms-access,Sql,Excel,Vba,Ms Access,此查询更新右侧字段中的access数据库。 我的问题是,我无法让它在字段[现场无障碍停车]为变量的情况下工作。(newName和hostel是变量,我在字段名周围使用[],因为表中的一些字段名有空格)。与您已经使用的变量类似 Dim SQLStr作为字符串,fieldName作为字符串 fieldName=“现场无障碍停车” SQLStr=“更新设施集[”&fieldName&“]=”&newName&_ “WHERE HostelKey=”&hostel&“;” 你能这样试试吗 Sub Imp

此查询更新右侧字段中的access数据库。
我的问题是,我无法让它在字段
[现场无障碍停车]
为变量的情况下工作。(
newName
hostel
是变量,我在字段名周围使用
[]
,因为表中的一些字段名有空格)。

与您已经使用的变量类似

Dim SQLStr作为字符串,fieldName作为字符串
fieldName=“现场无障碍停车”
SQLStr=“更新设施集[”&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对象库”框。

如何使用该变量?您似乎在
SQL
中使用了直接字段名。请编辑您的问题并添加您试图运行的实际代码以及您遇到的问题。已解决!:-)-非常感谢