1

我喜欢使用未绑定的子表单来显示交叉表查询的结果。但是下面的代码

Me.subFormForecastSummary.Form.RecordSource = "SELECT ....."

导致此错误消息:“您输入的表达式引用了一个已关闭或不存在的对象”。

当我在表单设计器中使用 Source Object 并指定 select 语句时,上面的代码可以正常工作,并且我可以设置属性 RecordSource。

我面临的问题是 select 语句基于交叉表查询,并且可以包含不同数量的列(在我的情况下为周),具体取决于主记录。我面临的问题是数据表仅根据 SourceObject 中指定的原始查询显示列(尽管数据本身已刷新)。有谁知道我如何强制刷新列或如何克服错误消息?

谢谢

4

1 回答 1

0

感谢您迄今为止的回复。根据评论和进一步的研究,我决定采用以下解决方案:

  • 创建了一个虚拟查询,返回 1 条具有最大列数的记录。我已将它们命名为 001 到 100
  • 仍然创建了一个子表单并将其绑定到虚拟查询
  • 然后在 VBA 中,我根据需要在运行时更改记录源
  • 同样在 VBA 中根据需要重命名标题

你会认为应该有一个更优雅的解决方案,但这对我有用

于 2018-07-20T12:03:40.323 回答