我想在Excel電子表格上有一個按鈕,並將數據複製到Access表中。 範圍是來自同一工作簿中另一工作表的自動填充字段。將Excel範圍導出到Access表VBA
我試過幾個代碼要做到這一點,但我要麼得到一個錯誤1004:應用程序定義或對象定義的錯誤,或者沒有錯誤,但數據未在Access數據庫被複制。
我的代碼複製到下面。
Sub Export_Data()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim dbPath
Dim x As Long, i As Long
dbPath = "H:\RFD\RequestForData.accdb"
Set cnn = New ADODB.Connection
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath
Set rst = New ADODB.Recordset 'assign memory to the recordset
rst.Open Source:="tblRequests", ActiveConnection:=cnn, _
CursorType:=adOpenDynamic, LockType:=adLockOptimistic, _
Options:=adCmdTable
rst.AddNew
For i = 1 To 13
rst(Cells(1, i).Value) = Cells(x, i).Value
Next i
rst.Update
rst.Close
cnn.Close
Set rst = Nothing
Set cnn = Nothing
MsgBox " The data has been successfully sent to the access database"
Set rst = Nothing
Set cnn = Nothing
End Sub
你能從Access而不是Excel導入數據嗎?如果是這樣'DoCmd.TransferSpreadsheet'可以做你想做的,我認爲 – FlorianGD
什麼是x?它沒有在任何地方初始化。 – RADO
是的,x未被初始化或增加。你想填充13個字段,只有1個記錄? – June7