0

わかりましたので、フォームを動的に開く必要があるこの状況があります。以下のコードを参照し、可能であれば、そのフォームの既知のメソッドを実行します。

フォームを開く方法:

Public Sub ShowForm(par As Form, nm As String)
    DoCmd.OpenForm nm

    While IsOpen(nm)
        DoEvents
    Wend

End Sub

警告:

すべてのフォームに同じ方法があるわけではありません。したがって、可能であれば、オプションのパラメーターを追加して、おそらく文字列値としてメソッド呼び出しを通過させます。

いくつかの例:

フォーム1:

public sub InitItem(id as string)
 ....
end sub

フォーム2:

public sub InitCategory(id as string)
 ....
end sub
4

1 に答える 1

1

怒ってみませんか?

Private Sub Form_Open(Cancel As Integer)
    Cancel = Not BuildForm(Me.Name, True)
End Sub


Function BuildForm(strFormName, blnRS, Optional strParent = "None", _
                Optional strSubname = "", Optional strParentS = "", _
                Optional NameMod = "", _
                Optional strFormReport = "Form") As Boolean

OpenArgs、いくつかのメモ

If Me.OpenArgs & "" = "" Then
    Cancel = True
    Exit Sub
End If

astrOpenArgs = Split(Me.OpenArgs, ",")
于 2012-08-30T18:18:26.270 に答える