ms access 组合框刷新
Posted
技术标签:
【中文标题】ms access 组合框刷新【英文标题】:ms access combo box refresh 【发布时间】:2011-01-04 01:03:42 【问题描述】:我有 3 张桌子
章节(id,名称) 标题(id、name、parentid) 副标题(id、name、parentid)
父母是彼此上方的表格的ID。
我有一个包含 3 个组合框的表单
章节 标题 副标题。
我有 vba 用于章节和标题的 onchange。此代码工作正常:
私有子章节_AfterUpdate() Me.Heading.RowSource = "选择 [标题].[ID]、[标题].[标题]、[标题].[父] 从标题 WHERE [标题].[父] =" & Me.Chapter & " ORDER由 [标题];" Me.Heading.Requery 结束子 私有子标题_AfterUpdate() Me.Subheading.RowSource = "SELECT [Subheadings].[ID], [Subheadings].[SubHeading], [Subheadings].[Parent] FROM Subheadings WHERE [Subheadings].[Parent] =" & Me.Heading.Value & " ORDER BY [子标题];" Me.Subheading.Requery 结束子以上工作正常,表单将信息正确保存到新表中。
但是……
当我重新打开表单时(关闭访问后),章节似乎填充到组合中,但标题和副标题没有。尽管如此,如果我单击 vba 运行的章节,我保存记录的表中当前保存的记录会显示正确的子值。副标题也是如此。
我没有丢失任何数据,但我无法让组合框重新显示保存的数据以供打开。
即使在新的形式之后。
任何帮助都会非常感谢。
【问题讨论】:
设置行源后重新查询是多余的——你只需要分配行源。 【参考方案1】:将标题和副标题的更新代码放入表单的Current事件以及After Update事件中。
【讨论】:
更好的是,为每个行源分配创建一个子例程,然后从 AfterUpdate 和 OnCurrent 调用该单个子例程。以上是关于ms access 组合框刷新的主要内容,如果未能解决你的问题,请参考以下文章