フォームを開いてそのフォームでVBAコードを実行するボタンが必要です。したがって、Form_Loadまたは中間モジュールを使用します。誰もこれを行う方法を知っていますか?新しいフォームのForm_Loadでvbaコードを実行する前のフォームに特定の名前がある場合のみ
おかげ
フォームを開いてそのフォームでVBAコードを実行するボタンが必要です。したがって、Form_Loadまたは中間モジュールを使用します。誰もこれを行う方法を知っていますか?新しいフォームのForm_Loadでvbaコードを実行する前のフォームに特定の名前がある場合のみ
おかげ
使用OpenArgs
。
最初の形式:
DoCmd.OpenForm "SecondForm", OpenArgs:=Me.Name
第二の形態:
Private Sub Form_Load()
If Me.OpenArgs = "FirstForm" Then
' Stuff
End If
End Sub
第二形態のモジュールレベルの変数を宣言:のオンロードイベントで
Dim Prev As Form
を2番目の形式(これは最初の形式への参照を設定します):
Set Prev = Screen.ActiveForm
とオンクローズイベントで:
Set Prev = nothing
は今、あなたが前のフォームの名前を確認することができます。
If Prev.Name = "..." Then
... your actions
End If
さらに、あなたはから任意のプロパティまたはフィールドを確認することができますこの方法で最初/前のフォーム。前は今私のように行動しています。
新しいフォームは、アプリケーションのいくつかのフォームから開くことができます。
複数の呼び出しフォームを同時に開くことはできますか?
ない場合は、これを使用:呼び出し元のフォームの2つ以上が同時に開くことができる場合
Private Sub Form_Load()
If isLoaded("Form1") then
Form1_InstructionSet
ElseIf isLoaded("Form2") then
Form2_InstructionSet
...
End If
End Sub
Private Sub Form1_InstructionSet
...
End Sub
etc.
は、あなたが上記のアンドレの答え@あたりとして、新しいフォームをparameterise必要があります。