基于当前字段值的MS访问表单组合框行源
Posted
技术标签:
【中文标题】基于当前字段值的MS访问表单组合框行源【英文标题】:MS access form combo box row source based on current field value 【发布时间】:2015-10-26 17:57:25 【问题描述】:Access(我使用的版本:2010)和 VB 中的新手。 :(
我有一个名为“issues”的表单和一个表格,一个名为“statusfield”的组合框(值列表:open、reopen、wip、close)。
表单加载每条记录的“问题”表的内容。可以修改记录的字段值。
目的是根据问题的当前状态显示可用值列表。
例如,如果“statusfield”的当前值为空,当单击组合框时,可用状态为“open;reopen;wip”,如果“statusfield”的当前值为“open”,那么可用状态将是“wip;closed”。
谁能解释的尽可能详细?欣赏!
【问题讨论】:
【参考方案1】:在组合框的 AfterUpdate 事件中添加此代码
If Me.statusfield.value = "open" Then
Me.statusfield.RowSource = "wip ; closed"
End If
【讨论】:
Emi,我已经尝试过Form_Current、AfterUpdate、BeforeUpdate、Click 中的代码(使用RowSourceType="Field List"),但它不起作用。它在选择列表上显示为空。 RowSourceType 属性应设置为“值列表”,您必须输入带有分号 (;) 作为分隔符的项目列表。 “字段列表”用于表名、查询名或 SQL 语句。 谢谢 Emi,这基本上是我想要的,只是我在 Form_Current 事件中使用它。此外,我将“继承值列表”(经过两天的故障排除)更改为否。现在一切正常! :)【参考方案2】:所以我重新设计了数据库,在(数据库工具 -> 关系)中创建了一对多映射,使用相同的 vba,一切都按设计工作。干杯!
【讨论】:
以上是关于基于当前字段值的MS访问表单组合框行源的主要内容,如果未能解决你的问题,请参考以下文章