使访问子表单仅通过单击按钮填充
Make access subform only populate with button click
我很生气,因为我以前做过但不记得了。我有一个 Access 数据库,其中包含指向 SQL 服务器数据库的链接表和一个具有由查询填充的子表单的表单。查询与子表单一样工作,并且在调用主表单时,子表单确实填充了正确的数据。但是我想停止子表单在加载时填充并且只通过单击按钮填充。
我已经为按钮的“单击”事件提供了一个嵌入式宏来重新查询子表单,它似乎确实刷新了子表单,但是如何停止在主表单加载时填充子表单并且仅填充按钮点击
您有多种选择。
一种命令方式是去掉子窗体控件的“源对象”设置。由于控件(子窗体控件)没有指向子窗体的“指针”,子窗体将不会加载或显示。
这样设置的代码(在你的按钮后面是这样的):
Me.MySubFormControl.SourceObject = "tblMain2"
所以,只需将源对象设置为您想要的子表单即可display/load。
在编辑表单时要小心当你清空(删除)子表单控件的源对象设置时,在编辑过程中经常弄乱也会破坏 link 主字段和子字段设置。它们通常会粘住,但也可能会消失。
下一个可能吗?
代替设置源对象,修改子窗体,并删除其数据源。
现在在该按钮后面的代码中,您可以:
me.MySubFormControl.Form.Source = "SELECT * from child table"
再一次,当您执行上述操作时,link master/child 设置通常会消失。在某些情况下,您可以这样去:
me.MySubFormControl.Form.Source = "SELECT * from childTable where parent_id = " & me!id
当然,现在您将 parent_id 替换为用于与父表单关联的列名称。
我认为源对象是一个更好的选择,因为这样在主窗体加载时甚至不会渲染甚至加载子窗体。
唯一的问题是 OFTEN 访问将尝试 set/change link master/child 设置,因此您可以考虑设置 link master 和 link 代码中的子字段设置(就在源对象代码行之前)。
我很生气,因为我以前做过但不记得了。我有一个 Access 数据库,其中包含指向 SQL 服务器数据库的链接表和一个具有由查询填充的子表单的表单。查询与子表单一样工作,并且在调用主表单时,子表单确实填充了正确的数据。但是我想停止子表单在加载时填充并且只通过单击按钮填充。
我已经为按钮的“单击”事件提供了一个嵌入式宏来重新查询子表单,它似乎确实刷新了子表单,但是如何停止在主表单加载时填充子表单并且仅填充按钮点击
您有多种选择。
一种命令方式是去掉子窗体控件的“源对象”设置。由于控件(子窗体控件)没有指向子窗体的“指针”,子窗体将不会加载或显示。
这样设置的代码(在你的按钮后面是这样的):
Me.MySubFormControl.SourceObject = "tblMain2"
所以,只需将源对象设置为您想要的子表单即可display/load。
在编辑表单时要小心当你清空(删除)子表单控件的源对象设置时,在编辑过程中经常弄乱也会破坏 link 主字段和子字段设置。它们通常会粘住,但也可能会消失。
下一个可能吗?
代替设置源对象,修改子窗体,并删除其数据源。
现在在该按钮后面的代码中,您可以:
me.MySubFormControl.Form.Source = "SELECT * from child table"
再一次,当您执行上述操作时,link master/child 设置通常会消失。在某些情况下,您可以这样去:
me.MySubFormControl.Form.Source = "SELECT * from childTable where parent_id = " & me!id
当然,现在您将 parent_id 替换为用于与父表单关联的列名称。
我认为源对象是一个更好的选择,因为这样在主窗体加载时甚至不会渲染甚至加载子窗体。
唯一的问题是 OFTEN 访问将尝试 set/change link master/child 设置,因此您可以考虑设置 link master 和 link 代码中的子字段设置(就在源对象代码行之前)。