是否有某种解决办法可以使这成为可能?或者,有人可以提供一些关于我的情况的一般建议吗?我试图通过VBA设置记录源,但没有运气 .
我的情况:
我有一个主窗体,其中包含一个子窗体,我希望子窗体纯粹用于数据输入(数据输入=是) . 单击按钮后,用户将从主窗体发送到报告(仅打印预览) . 我希望此报告的源是用户输入数据的子表单,但我没有从报告的属性表本身(没有表单)中选择此选项,我也无法通过VBA设置它 . 这是我的代码,它是一行,所以我非常怀疑这是问题所在 .
Private Sub Report_Load()
Reports![P18003 SDR Report].RecordSource = "P18003 SDR Subform"
End Sub
以前,为了解决这个问题,我有一个参数查询,等待用户从主窗体中将数据输入到未绑定的文本框中,并且该文本框上的更新后触发器将加载与该参数相关的任何数据(我的雇主和我错误传达了要求) .
事实证明,虽然我不需要加载任何旧数据,但如果用户确实输入了加载旧数据的参数,那么我的当前参数查询会遇到问题 - 旧数据会传输到报表中除了他们刚刚输入的新数据外 . 这是我目前使用的方法的主要问题,它使用此表单和报表来破坏几乎所有功能 . 用户输入查询旧数据的参数所需的事件很少,但它不是功能性产品,除非我可以将子表单直接连接到报表 . 这里可能有一些显而易见的东西(至少,我希望有) .
提前感谢您花时间阅读本文以及您可能提供的任何帮助 .
1 回答
在子窗体中的click事件之后,您可以通过打开的报表事件将记录源发送到OpenArgs中的报表本身
然后在报告中 .
或者,您可以创建参数查询并将此查询条件设置为报告的记录源 . 因此查询中的参数指向子表单中当前选定的行 . 像这样:
现在每次报告都会显示,他会从您子表单的当前所选记录中获取ID .