gpt4 book ai didi

excel - 将 Excel 工作表范围导入到 Ms Access Table

转载 作者:行者123 更新时间:2023-12-03 00:19:14 25 4
gpt4 key购买 nike

下午好,

我创建了一个宏,用于将数据上传到 Access 数据库(两者都在我的桌面上)。问题是,当我尝试扩大范围时,我不断收到错误。

我以为这会很简单,但似乎是我忽略的事情。

这是代码 - 基本上我想包含该列或将其设置为动态范围?你能帮忙吗?

Sub AccessCode()

Application.ScreenUpdating = False

Dim db As Database
Dim rs As DAO.Recordset

Set db = OpenDatabase("C:\Users\user\Desktop\Test Copy.accdb")
Set rs = db.OpenRecordset("Fact Table", dbOpenTable)

rs.AddNew
rs.Fields("GUID") = Range("g2").Value
rs.Fields("StageID") = Range("h2").Value
rs.Fields("Sync Date") = Range("i2").Value
rs.Fields("Forecast HP") = Range("j2").Value
rs.Fields("Owner Id") = Range("k2").Value
rs.Fields("Recent Modified Flag") = Range("L2").Value
rs.Fields("Upload Date") = Range("M2").Value

rs.Update
rs.Close
db.Close

Application.ScreenUpdating = True
MsgBox " Upload To PMO Database Successful."

End Sub

最佳答案

您可以使用查询而不是迭代记录集:

Sub AccessCode()
Application.ScreenUpdating = False
Dim db As Database
Dim rs As DAO.Recordset

Set db = OpenDatabase("C:\Users\user\Desktop\Test Copy.accdb")
db.Execute "INSERT INTO [Fact Table] ([GUID], [StageID], etc) " & _
"SELECT * FROM [SheetName$G:M] " & _
"IN """ & ActiveWorkbook.FullName & """'Excel 12.0 Macro;HDR=No;'"
End Sub

这有很多优点,例如通常更快,因为您不必遍历所有字段。

如果您要从 Access 而不是 Excel 触发导入,您甚至不需要 VBA 来执行查询。

关于excel - 将 Excel 工作表范围导入到 Ms Access Table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48788609/

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