vba - 从 Excel VBA 运行访问查询
问题描述
我正在尝试在 excel vba 中编写一个宏,它只是打开一个访问数据库并在访问中运行 2 个查询。它似乎每单击 2 次宏按钮就可以工作并运行查询。我的意思是我点击它,它可以工作,第二次点击我在第二次点击时得到一个“运行时错误 462”,第三次点击它可以工作,第四次点击我再次得到错误,依此类推。我似乎无法弄清楚这是为什么。这是下面的代码。
Sub QueryAccess1()
Dim db As Access.Application
Set db = New Access.Application
'set variables
db.Visible = True
db.OpenCurrentDatabase ("DatabaseFileName")
'open database
'--------------------------------------------------------------
On Error Resume Next
db.DoCmd.DeleteObject acTable, "TableName"
'if the table does not exist it skips this line
'--------------------------------------------------------------
On Error GoTo 0
'sets the error back to normal
'--------------------------------------------------------------
CurrentDb.Openrecordset ("QUERY1")
CurrentDb.Execute ("QUERY2")
'Calls the queries
'--------------------------------------------------------------
'--------------------------------------------------------------
db.CloseCurrentDatabase
db.Quit
'Closes Access
'--------------------------------------------------------------
Set db = Nothing
End Sub
当我收到错误时,我将其上线
CurrentDb.Openrecordset ("QUERY1")
解决方案
我设法让它与 Parfait 的方法一起工作。这就是我所拥有的。
Sub QueryAccess1()
Dim conn As Object, rst As Object
Dim path As String
Set conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
path = Sheets("SheetName").Range("A1")
'OPEN CONNECTION
conn.Open ConnectionString:="Provider = Microsoft.ACE.OLEDB.12.0; data source=" & path
'DELETES TABLE CONTENTS
conn.Execute "DELETE FROM [Table1]"
'RUN UNION QUERY AND INSERT INTO TABLE
rst.Open "SELECT * FROM [Query1]", conn
conn.Execute "INSERT INTO [Table1] select * from [QUERY1] "
Set rst = Nothing: Set conn = Nothing
End Sub
推荐阅读
- pandas-datareader - pandas_datareader 不提取 TSP 数据
- rust - 是否可以在链接到其他库而不生成货物项目的情况下将单个 rust 文件作为脚本运行
- linux - 如何连接到 SQLPLUS 并在 ssh unix 中运行 SQL 脚本?
- windows - 尝试在 Rstudio 中安装软件包时出错
- javascript - 通过 id javascript 删除数组中的对象
- apache-nifi - 无法连接到 MSSQL 到 Nifi
- laravel - 传递给多对多关系的单个实例的表单和编辑数据透视表
- drupal - 如果未选中则提交值 true,如果选中则提交 false(从 webform 到 salesforce)
- php - 无法从生产中的 Laravel 应用程序发送电子邮件
- javascript - 如何在 html 模板中从 Django-object 传递 JavaScript 变量?