我想從Excel VBA中引用一個開放的Access文件。我只是無法設置它。參考打開Access數據庫
Dim Ac As Access.Application
Set Ac = ???
Ac.DoCmd.OpenForm "Blah"
我該如何代替???
來引用打開的數據庫?
我想從Excel VBA中引用一個開放的Access文件。我只是無法設置它。參考打開Access數據庫
Dim Ac As Access.Application
Set Ac = ???
Ac.DoCmd.OpenForm "Blah"
我該如何代替???
來引用打開的數據庫?
使用GetObject(pathname, class)
爲Tim suggested。
Set Ac = GetObject(, "Access.Application") ' no value for pathname argument
Ac.DoCmd.OpenForm "Blah"
如果你有一個以上的訪問會話打開,使用它你要引用的數據庫文件的完整路徑...
Set Ac = GetObject("C:\share\Access\Database2.accdb") ' give it pathname
你可以使用後期綁定,而不是Dim Ac As Access.Application
並避免需要設置對Access類型庫的引用。隨着後期綁定,你可以聲明這樣的變量,GetObject
仍將合作......
Dim Ac As Object
This Works!Thanks that so much!我嘗試使用路徑名,但是打開了另一個Access窗口,這不是我想要的。工作! – icebird76
我看到你對@Tim和inves的回覆更進一步。 'GetObject(「C:\ share \ Access \ Database2.accdb」,「Access.Application」)給了我一個新的Access會話。但給'GetObject'只有這兩個參數中的一個沒有創建一個新的會話。 – HansUp
當我沒有第二個參數並且只有文件路徑時,它給出了關於它不是有效數據庫或其他東西的錯誤,但是我沒有在文件路徑中結尾的.accdb,因此可能有些事情要做用它。 – icebird76
您可以使用'GetObject的()' - 看看成 –
'昏暗的交流作爲Object' 'Set AC = GetObject(「 .accdb」,「Access.Application」)' 'AC.DoCmd.OpenForm「」'打開一個新的Access窗口,但它打開窗體...(一切大於/小於符號實際上並不是我在代碼中使用的。 –
icebird76