首页 > 解决方案 > 如何在文件夹而不是 Excel VBA 中的 CurrentDB 中定义访问数据库的路径?

问题描述

我必须通过 excel vba 用户表单运行访问查询。这个查询基本上是从访问表中找到记录并更新 Out Time。表名是“Visitors”,查询名是“updateVisitors”。以下是我编写的 Excel VBA 代码:-

Sub VisitorsUpdateOT()

Dim dbs As DAO.Database
Dim qdf As DAO.QueryDef
Dim con As Object

    Application.EnableCancelKey = xlDisabled
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Set dbs = CurrentDb
    Set qdf = dbs.QueryDefs("updateVisitors")

        qdf.Parameters("Recp_Visitors!OutTime").Value = Recp_Visitors.OutTime.Value
        qdf.Parameters("Recp_Visitors!SrNo").Value = Recp_Visitors.SrNo.Value
        qdf.Execute
        qdf.Close

    Set qdf = Nothing
    Set dbs = Nothing
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True

End Sub

当访问数据库打开时,此代码运行完美。我发现由于“ Set dbs = CurrentDb ”而打开数据库时它不起作用。即使数据库关闭,有什么方法可以运行此查询吗?

标签: excelvbams-access

解决方案


从这里https://sourcedaddy.com/ms-access/opening-external-database.html

改变

Set dbs = CurrentDb

Set dbs = DBEngine(0).OpenDatabase("C:\Temp\db1.accdb", False, False)

推荐阅读