我有一个主窗体 1,里面有一个子窗体 2,还有一个弹出窗体 3。
表格 2和表格 3是数据表。表单 1中的按钮打开弹出表单 3。
现在,在表格 2中,我捕获当前选择的记录并使用以下代码设置查询:
查询是一个名为 strSQL 的 var。
是否可以将 strSQL 设置为表单 2的属性,以便我可以将表单 3记录源设置为Forms!1!2.forms!strSql?如果不是,我将数据从form 2移动到form 3的选项是什么,它们不相关,所以我不能使用 OpenArgs。
你可以使用 OpenArgs 来做这样的事情。如果需要,可以在 OpenArgs 中传递 SQL 字符串。事实上,您可以在 OpenArgs 中传递 MULTIPLE SQL 字符串,只要您正确解析它们。我有一个应用程序,我使用 OpenArgs 将 3 个变量传递给另一个表单,并用管道分隔它们(也就是说,我使用管道键“|”分隔每个变量,然后在它们到达另一个表单时将它们解析出来) . 您绝对可以使用这种方法来完成您想要做的事情。
例如,我使用此代码将表单、子表单和字段名称传递给新表单:
DoCmd.OpenForm stDocName, , , , , , stForm & "|" & stField & "|" & stSubForm
当我打开该表单时,我正在使用以下代码解析这些值:
strForm = Left(Me.OpenArgs, InStr(Me.OpenArgs, "|") - 1)
Brk1 = Mid(Me.OpenArgs, InStr(Me.OpenArgs, "|") + 1)
strField = Left(Brk1, InStr(Brk1, "|") - 1)
strSubForm = Mid(Brk1, InStr(Brk1, "|") + 1)