Is there a way to refer to the forms in another database without actually opening it, just pointing to it?
short answer is no. Forms will only work in the db where they are, so you have to open the db one way or another
You can make the other db a library to the current db and have a module in the other db with a procedure something like this - basically just calling openform from the library objects
Code:
Public Sub OpenLibraryForm(FormName As String, Optional View As AcFormView, Optional FilterName As Variant, Optional WhereCondition As Variant, Optional DataMode As AcFormOpenDataMode, Optional WindowMode As AcWindowMode, Optional OpenArgs As Variant)
DoCmd.openForm FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs
End Sub
the other code I have is opens the other db in the background
Code:
Function OpenRemoteForm(MDBFile As String, FormName As String, Optional ViewMode As Long = acViewNormal)
Dim appAccess As Access.Application
If Len(Dir(MDBFile)) > 0 Then
Set appAccess = New Access.Application
With appAccess
apiSetForegroundWindow .hWndAccessApp
apiShowWindow .hWndAccessApp, SW_HIDE
.OpenCurrentDatabase MDBFile, False
.DoCmd.openForm FormName, ViewMode
End With
End If
End Function
note forms to be opened may need to be popup and modal