Ms access 在加载新表单时对表单运行vba代码,但仅当以前的表单具有特定名称时才运行
我想有一个按钮来打开一个表单,然后在该表单上运行VBA代码。所以要么使用Form_加载,要么使用中间模块。有人知道怎么做吗 谢谢使用 第一种形式:Ms access 在加载新表单时对表单运行vba代码,但仅当以前的表单具有特定名称时才运行,ms-access,vba,form-load,Ms Access,Vba,Form Load,我想有一个按钮来打开一个表单,然后在该表单上运行VBA代码。所以要么使用Form_加载,要么使用中间模块。有人知道怎么做吗 谢谢使用 第一种形式: Set Prev = Screen.ActiveForm DoCmd.OpenForm“SecondForm”,OpenArgs:=Me.Name 第二种形式: Dim Prev As Form Private子表单_Load() 如果Me.OpenArgs=“FirstForm”,则 “东西 如果结束 端接头 使用 第一种形式: Set Pr
Set Prev = Screen.ActiveForm
DoCmd.OpenForm“SecondForm”,OpenArgs:=Me.Name
第二种形式:
Dim Prev As Form
Private子表单_Load()
如果Me.OpenArgs=“FirstForm”,则
“东西
如果结束
端接头
使用
第一种形式:
Set Prev = Screen.ActiveForm
DoCmd.OpenForm“SecondForm”,OpenArgs:=Me.Name
第二种形式:
Dim Prev As Form
Private子表单_Load()
如果Me.OpenArgs=“FirstForm”,则
“东西
如果结束
端接头
以第二种形式声明模块级变量:
Dim Prev As Form
在第二个表单的加载事件中(这将设置对第一个表单的引用):
在关闭事件中:
Set Prev = nothing
现在,您可以使用以下选项检查上一个表单的名称:
If Prev.Name = "..." Then
... your actions
End If
此外,您可以通过这种方式检查第一个/上一个表单中的任何属性或字段。Prev现在的行为和我一样。以第二种形式声明模块级变量:
Dim Prev As Form
在第二个表单的加载事件中(这将设置对第一个表单的引用):
在关闭事件中:
Set Prev = nothing
现在,您可以使用以下选项检查上一个表单的名称:
If Prev.Name = "..." Then
... your actions
End If
此外,您可以通过这种方式检查第一个/上一个表单中的任何属性或字段。Prev现在的行为和我一样。假设新表单可以从应用程序中的多个表单中打开 一次可以打开多个呼叫表单吗 如果没有,请使用以下选项:
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.
如果可以同时打开多个调用表单,则应根据上面@Andre的回答对新表单进行参数化。假设可以从应用程序中的多个表单打开新表单 一次可以打开多个呼叫表单吗 如果没有,请使用以下选项:
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.
如果可以同时打开多个调用表单,则应按照上面@Andre的回答,将新表单参数化