在 Access 中,填充绑定组合框的 SQL 查询不会更新

问题描述 投票:0回答:1

在我的表单中,我有一个组合框,使用选择不同查询列出表中的所有用户。如果该名称不在列表中,人们还可以在组合框中输入新名称。

移至下一条记录时,除非运行保存记录,否则填充组合框的查询不会更新。我有一个用于保存记录的按钮和一个用于下一个/上一个记录的按钮。如果单击下一个或上一个按钮,组合框不会更新。

组合框中的更改不会将 Form.Dirty 更改为 true。但是,新名称已保存,因为我可以移至下一个,然后返回,新名称就在那里。但重新查询不会更新组合框。我尝试在更新后事件和表单当前事件中重新查询组合框,但除非单击“保存记录”按钮,否则两者都不起作用。

vba ms-access combobox
1个回答
0
投票

如果组合框绑定到该表单中的基础列?那么底层记录确实会并且应该变脏,并且会在导航到下一个/上一个记录或关闭表单时自动保存。这表明并暗示组合框未绑定。请记住,组合框有一个数据源来提供选项,并且还具有绑定属性。

如果设置了该绑定属性,则组合中的任何更改(包括输入值)都将并且应该保存到表单中。

当您返回该页面时,问题就变成了,组合框不会也不会正确显示,因为保存值不在驱动组合框的列表中。因此,这表明当用户在组合框中输入值时,您应该使用 not in list 事件,并提示/询问用户是否要将这个“新”项目添加到组合框列表中。

因此,如果您不将新项目(用户刚刚输入的)添加到列表中,则组合框无法正确更新,并且当您导航回该记录时,组合框将不会显示任何内容,因为列表中不存在当前值。

© www.soinside.com 2019 - 2024. All rights reserved.