Ich möchte eine Schaltfläche in der Excel-Tabelle haben und die Daten in die Access-Tabelle kopiert haben. Der Bereich ist ein automatisch ausgefülltes Feld von einem anderen Blatt in derselben Arbeitsmappe.Excel-Bereich exportieren, um auf Tabelle VBA zuzugreifen
Ich habe versucht, einige Codes, um dies geschehen zu lassen, aber ich erhalte entweder einen Fehler 1004: applikations- oder objektdefinierter Fehler oder kein Fehler, aber Daten werden nicht in Access DB kopiert.
Mein Code wird unten kopiert.
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
Können Sie die Daten von Access statt Excel importieren? Wenn ja 'DoCmd.TransferSpreadsheet' könnte tun, was Sie wollen, ich denke – FlorianGD
was ist x? Es ist nirgendwo initialisiert. – RADO
Ja, x wird nicht initialisiert oder inkrementiert. Sie möchten 13 Felder und nur 1 Datensatz füllen? – June7