【发布时间】:2017-11-09 07:16:13
【问题描述】:
我想在 Excel 电子表格上有一个按钮,并将数据复制到 Access 表中。 该范围是同一工作簿中另一个工作表中的自动填充字段。
我尝试了一些代码来实现这一点,但我得到一个错误 1004:应用程序定义或对象定义的错误,或者没有错误但数据没有被复制到 Access DB 中。
我的代码复制如下。
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可以做你想做的事,我想 -
什么是 x?它没有在任何地方初始化。
-
是的,x 没有初始化或递增。您想填充 13 个字段且仅填充 1 条记录?
-
是的!从第 7 行开始的一条记录,包含 24 个字段。
标签: ms-access