没有记录关联时在子窗体上显示空字段,而不是空白子窗体

时间:2018-11-06 20:41:22

标签: ms-access ms-access-2016

我在主联系表单上使用子表单来显示地址数据。我在子表单上有一个字段,该字段将地址行,街道和数字,城市,地区等所有组成部分的值连接在一起。这只是使其易于查看,但是通过弹出窗口进行编辑或添加表格,其中地址的每个部分都有单独的字段。我希望无论是否为该联系人添加了任何地址,该子表单都看起来相同,但是当查询获取一个联系人的地址没有结果时,该子表单完全空白。我正在寻找一种在添加地址之前让空白字段显示并保持标签可见的方法。

我尝试添加与文本框控件相同大小和格式的矩形,然后将其放置在文本框后面,但是即使具有该矩形,当未输入地址时,我的子窗体也完全为空白。这是一个只有子窗体背景颜色的空白框-没有矩形,没有标签,什么也没有。

将子窗体与控制源一起设置为查询,以查找与主窗体相对应的联系人ID的地址记录。

1 个答案:

答案 0 :(得分:1)

可能最简单的解决方案是对子表单使用 form标头

  1. 在“设计”视图中右键单击表单,然后选择“表单页眉/页脚”。页脚和页眉部分都将显示。
  2. 将所有表单控件移动到标题。可以通过选择所有控件并将它们拖动到标题上来完成此操作。
  3. 对于“详细信息”和“页脚”部分,将“可见”设置为False。 (可选)折叠这些部分以不占用垂直空间。

就是这样。标头始终保持可见,包括控件。当记录集为空时,控件仍然可以获取焦点,但不允许按键等。按钮和其他操作控件保持启用状态。

只要子窗体一次只显示一个记录,标题中的绑定控件将对每行保持预期的作用。


注意

由于所描述的行为(即,当AllowAdditions设置为False时,为空的记录集隐藏了表单详细信息部分)是Access表单固有的,因此任何解决方案都将涉及可能会更改的变通办法子窗体的正常预期行为。可能存在针对任何此类不利行为的解决方案,但将需要使用表单事件和其他编程来进行更广泛的处理。此解决方案无法涵盖所有​​此类条件。

例如,给定解决方案不适用于连续或数据表子窗体,因为不会为每一行重复标题。此外,即使将表单属性设置为自动缩小或增长,标题也不会自动调整大小。正确处理Resize事件可能会解决此问题,但不仅要处理子窗体事件,还要处理父窗体的事件以正确解决该问题。