子表单查询中的引用字段(ms Access)

时间:2016-02-10 08:41:12

标签: ms-access access-vba

我有一个表单frmResults,其中包含一个子表单控件frmResultsSub

frmResultsSub是一个子窗体控件,它包含查询而不是表单。换句话说,其SourceObject属性设置为查询“Query.qrySearch

有什么方法可以将此查询的字段引用到例如居中文字或改变字段宽度?

我在frmResults的公开赛中尝试过这些陈述,但都没有成功:

Me!frmResultsSub.fldA.Width = 600
Me.frmResultsSub.fldA.Width = 600

3 个答案:

答案 0 :(得分:1)

试试这个:Me.frmResultsSub.Form.fldA.Width = 600

答案 1 :(得分:1)

我认为您无法使用VBA调整查询的列宽。但是,您可以使用以下方法之一解决问题:

  • 创建表单(AutoForm没问题)并将其默认视图设为数据表。然后使用该表单作为子窗体控件的源。这在视觉上与您当前的解决方案完全相同。
  • 使用listBox而不是子表单。它非常通用,您可以轻松地将列表框rowSource设置为任何SQL语句。您必须处理与主表单数据的同步,但它非常简单。

答案 2 :(得分:1)

在查询中引用 fldA 字段,就像在 frmResultsSub 子窗体控件中包含的表单上的文本框名称一样。

将其放入 On Load 并验证它是否显示字段名称而不是触发错误......

MsgBox Me!frmResultsSub!fldA.name

一旦正常工作,您就可以使用列的属性。在 On Load 期间,调整其ColumnWidth属性以更改其宽度...

Me!frmResultsSub!fldA.ColumnWidth = 600

这应该允许你设置宽度。但您也提到了文本对齐方式,除非您根据查询创建实际表单,否则我不知道如何为查询列执行此操作。