簡體   English   中英

如何設置已打開的數據庫vba的引用

[英]How to set reference of already opened database vba

我正在嘗試從excel vba獲取已經打開的數據庫的記錄集。 daoDB變量中獲取已打開的db的引用 我的excel vba代碼

Public Sub getdatafromaccess1()
Dim daoDB As DAO.Database
Dim daoQueryDef As DAO.QueryDef
Dim daoRcd As DAO.Recordset

'Here i want to reference to already opened database instead of opening


Set daoDB= OpenDatabase("C:\temp\sample.accdb")
Set daoQueryDef = daoDB.QueryDefs("Headings")
Set daoRcd = daoQueryDef.OpenRecordset
ThisWorkbook.Worksheets("w1").Range("A1").CopyFromRecordset daoRcd

End Sub

為了維護更清晰和可訪問的代碼,將連接狀態移動到全局變量是一個明智的想法,這樣您就可以在所有函數和子函數中使用該對象。

更新 - 這將在工作簿打開時保持連接。

Global daoDB As DAO.Database

Private Sub Workbook_Open()
    Set daoDB = OpenDatabase("C:\temp\sample.accdb") 'Your DB connection function
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    daoDB.Close
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM