【问题标题】:MS access form combo box row source based on current field value基于当前字段值的MS访问表单组合框行源
【发布时间】:2015-10-26 17:57:25
【问题描述】:

Access(我使用的版本:2010)和 VB 中的新手。 :(

我有一个名为“issues”的表单和一个表格,一个名为“statusfield”的组合框(值列表:open、reopen、wip、close)。

表单加载每条记录的“问题”表的内容。可以修改记录的字段值。

目的是根据问题的当前状态显示可用值列表。

例如,如果“statusfield”的当前值为空,当单击组合框时,可用状态为“open;reopen;wip”,如果“statusfield”的当前值为“open”,那么可用状态将是“wip;closed”。

谁能解释的尽可能详细?欣赏!

【问题讨论】:

    标签: ms-access vba ms-access-2010


    【解决方案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,一切都按设计工作。干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-24
      • 2012-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      相关资源
      最近更新 更多