我有一个带有按钮的表单,可以在对话框模式下打开另一个表单。是否有一个对话框表单属性,其中包含有关打开它的表单的信息?什么像Me.Parrent在sobform?我知道实现这一目标的唯一方法是使用OpenArgs,但希望有更严格的内容......
感谢您的任何建议
SMOK。
答案 0 :(得分:1)
只要您不打开同一表单的多个变体,Forms
集合就是常用的方法,就像古斯塔夫所说的那样。
您可以像这样访问表单对象:
Forms!ParentformName.Form
有许多其他方法可以引用变量,June7指出了最常见的方法。我更喜欢子表单对象中的全局变量
在subfrom:
Public Parentform As Form
在主表格上:
Private Sub OpenForm
DoCmd.OpenForm "myForm"
Forms!myForm.Parentform = Me.Form
End Sub
或者,打开一个依赖于主窗体的对话框:
Private dialogForm As Form
Private Sub OpenForm
Set dialogForm = New Form_myForm
dialogForm.Parentform = Me.Form
dialogForm.SetFocus
End Sub
请注意,最后一种方法有几个优点,例如支持对话框表单的多个实例,以及能够从子表单执行多项操作(特别是如果您将Private dialogForm As Form
更改为Private WithEvents dialogForm As Form
允许您检测对话框何时关闭,获取在对话框中输入的值,在主窗体上处理它们等等。它确实要求dialogForm具有表单模块。)