在子表单访问中绑定组合框

Posted

技术标签:

【中文标题】在子表单访问中绑定组合框【英文标题】:Binding a combobox in subform Access 【发布时间】:2012-08-03 10:15:16 【问题描述】:

我有一个子表单,它具有正确的源对象、链接主字段和链接子字段参数。

我可以在子表单中创建一个组合框,该组合框在下拉菜单中显示正确的信息(与子表单的源对象相同的表),但是 未绑定 并且不更新记录主要形式。

有人知道如何解决这个问题吗?

(注意Master和Child的关系跨越多个表,但启用了引用完整性和级联更新)

【问题讨论】:

【参考方案1】:

在这种情况下,组合位于子表单上的事实与此无关。向导将为您设置所有内容,但绑定控件的规则是设置Control Source。例如,您的子表单包含一个按 PlaceID 列出的地点列表,并且您希望使用一个组合来更新它,该组合向用户显示组合中的地名列表。

 Control Source: PlaceID
 Row Source    : SELECT ID, PlaceName FROM Places ORDER BY PlaceName
 Bound Column  : 1
 Column Count  : 2
 Column Widths : 0; 2cm

关系

【讨论】:

听起来很有希望:不幸的是,当我选择控制源作为主字段的 ID 时,组合框会自动显示这个数字,虽然 SQL 查询中的其他信息在技术上是可用的,但它会拒绝除 Master 字段的 ID 以外的任何内容作为有效参数。 :-( 我通常会做一个试验和错误的事情(那么源 ID 作为控制源呢?)但我看不出它是如何工作的,因为在这种情况下它与主字段完全无关;从而否定首先是组合框的点... 您永远不会将组合框设置为主字段的 ID。您很少会在子表单中显示主字段,因为它是作为主字段自动完成的。 在插图中,Places 表中的 ID 是 PlacesPersons 联结(连接)表中的 PlaceID。这是一个约定。 PersonID 是自动填写的。 害怕它显示一个对话框说:无效的控制属性:控制源...字段列表中没有这样的字段。不过,我设置的控制属性肯定没有错字。 如果在字段名称的控制源下拉列表中不可用,则在表单上不可用。检查子表单的记录源并确保包含该字段。

以上是关于在子表单访问中绑定组合框的主要内容,如果未能解决你的问题,请参考以下文章

未绑定组合框:所选文本未显示

通过 vba ms 访问将多值列的数据绑定到组合框中

表链接表单上的 MS Access 绑定组合框

根据组合框输入打开报表

控制子表单的组合框可能会更新表格

返回未绑定访问组合框的先前值