gpt4 book ai didi

vba - 将 Excel 工作表导出到 Access 表 (.accdb)

转载 作者:行者123 更新时间:2023-12-02 20:37:16 25 4
gpt4 key购买 nike

我的 Excel 中有一个宏与我的一张工作表上的命令按钮相关联。单击后,我尝试将工作表“FeedSamples”中的数据导出到名为“ImportedData”的 Access 数据库表中。

有人可以帮助我吗?我尝试了网上的多个例子,但没有成功。这就是我现在所拥有的,但不断收到“运行时错误'3343':无法识别的数据库格式'filePath\FeedSampleResults.accdb

Dim db As Database
Dim rs As Recordset
Dim r As Long
Set db = OpenDatabase("filePath\FeedSampleResults.accdb")
Set rs = db.OpenRecordset("ImportedData", dbOpenTable)
r = 2
Do While Len(Worksheets("FeedSamples").Range("A" & r).Formula) > 0
With rs
.AddNew
.Fields("REPTNO") = Worksheets("FeedSamples").Range("B" & r).value
.Update
End With
r = r + 1
Loop
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing

完成此操作后,我需要编写代码以使访问表将数据导出到 dBase 文件中。

最佳答案

这是使用 ADO 的代码。您需要在数据源中设置您的access数据库的完整路径。

Sub ExcelToAccessAdo()

Dim cn As ADODB.Connection, rs As ADODB.Recordset, row As Long
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & _
"Data Source=filePath\FeedSampleResults.accdb;"

' open a recordset
Set rs = New ADODB.Recordset
rs.Open "ImportedData", cn, adOpenKeyset, adLockOptimistic, adCmdTable

row = 3 ' the start row in the worksheet
Do While Not IsEmpty(Worksheets("FeedSamples").Range("A" & row))

With rs
.AddNew ' create a new record
.Fields("REPTNO") = Worksheets("FeedSamples").Range("A" & row).Value
.Update
End With
row = row + 1
Loop

rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing

End Sub

关于vba - 将 Excel 工作表导出到 Access 表 (.accdb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16949063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com