[英]Export Excel Worksheet to Access Table (.accdb)
I have a macro in Excel tied to a command button on one of my worksheets. 我有一个Excel中的宏绑定到我的一个工作表上的命令按钮。 When clicked, I'm trying to have the data from my worksheet "FeedSamples" be exported into an Access Database Table called "ImportedData".
单击时,我试图将工作表“FeedSamples”中的数据导出到名为“ImportedData”的Access数据库表中。
Can anyone assist me? 任何人都可以帮我吗? I've tried multiple examples from the net with no luck.
我从网上尝试了多个例子但没有运气。 This is what I have right now but keep receiving "Run-time error '3343': Unrecognized database format 'filePath\\FeedSampleResults.accdb
这就是我现在所拥有但继续收到“运行时错误'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
Once I get this accomplished, I need to code to have the Access Table export the Data into a dBase file. 完成后,我需要编写代码以使访问表将数据导出到dBase文件中。
Here's the code using ADO. 这是使用ADO的代码。 You need to set the full path of your access database in Data Source.
您需要在数据源中设置访问数据库的完整路径。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.