使用VBA在另一个Access实例中打开特定表单

时间:2018-04-03 11:44:55

标签: ms-access access-vba

所以我在这里看了很多,找不到问题的答案。至少不完全。

情况如下:

我在DBase1中,想要单击一个按钮,在另一个访问实例中打开DBase2中的NeuSteckbrief表单。

我想用这段代码在一个单独的实例中打开DBase2:

 Private Sub SteckbriefDB_Click()

 Dim dq As String
 Dim strExe As String
 Dim strMdb As String
 Dim strRun As String
 Dim dblReturnVal As Double

 dq = """"

 'Define var strExe; Miscosoft Access
 strExe = "C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE"

 'Define var strMdb; Steckbrief database location
 strMdb = "Correct Path\SteckbriefDB.accdb"

 'Define the entire statement to implement at Shell
 strRun = dq & strExe & dq & " " & dq & strMdb & dq

 'Run the code to open the project database
 dblReturnVal = Shell(strRun, vbMaximizedFocus)


End Sub

我的问题是在刚打开的数据库中打开NeuSteckbrief表单。我试图添加DoCmd.OpenForm“NeuSteckbrief”,acNormal,但这不起作用。

您是否知道如何以我打开数据库和正确格式的方式调整代码?

1 个答案:

答案 0 :(得分:1)

你应该真的使用OLE自动化这样的东西:

Private Sub SteckbriefDB_Click()
 Dim strMdb As String
 'Define var strMdb; Steckbrief database location
 strMdb = "Correct Path\SteckbriefDB.accdb"
 Dim appSecondInstance As New Access.Application
 With appSecondInstance
    .Visible = True
    .UserControl = True
    .OpenCurrentDatabase strMdb
    .DoCmd.OpenForm "NeuSteckbrief", acNormal
 End With
End Sub