如何为ComboBox列表项编辑表单设置过滤器?

时间:2014-11-01 07:50:21

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

问题的简短形式

如何为"列出项目编辑表单"使用的表单设置过滤器? ComboBox的属性?

对环境的详细描述

在我的数据库中,有越来越多的结构相似的值描述了某些东西。我在一个名为ComboTexts的表中整理了所有这些,并添加了第二个表ComboTextTypes来自定义用户端的字段名称。例如:

ComboTexts table:
ID    s1    s2            s3                                     TypeID
1     1     First Floor   Ground Floor                           2
2     2     Second Floor  Null                                   2
3     AOX   DIN 1485      determination of organic components    3

ComboTextTypes table:
ID  formtitle  ch1             ch2           ch3
2   Floor      Floor Number    Floor Name    Alternate Name
3   Process    Process name    Standard      Description

为了编辑ComboTexts中的条目,我提供了两种形式:表单CoreData显示ComboTextTypes的格式列表和"编辑"按钮。当用户选择fomtitle并单击" edit"时,将使用TypeID集的过滤器调用EditComboTexts形式。 EditComboTexts从其过滤器中提取TypeID,并使用ComboTextTypes中的信息修改自身。

到目前为止,数据库中存在14个ComboTextTypes,而且这个数字正在增长。我根本不想拥有14个或更多表格和表格,基本上所有表格都完全相同。相反,我只有两个表和表格,虽然有点复杂。

上述机制已全部设置并正常运行。

问题描述

用户希望能够从组合框内部修改第14个ComboTextType。通过CoreData绕道三次点击太多,他们知道ComboBoxes可以为他们的值列表提供一个编辑按钮,并希望在那时使用它。

Access提供"列表项编辑表单"以此目的。当我在那里输入EditComboTexts表单时,它原则上工作,但(当然)过滤器是错误的。

如何为该表单设置过滤器?

1 个答案:

答案 0 :(得分:0)

您可以使用SQL过滤rowsource,只需更改组合框的行源值

Me.Combo0.RowSource = "SELECT myfield FROM Table2 WHERE Table2.myfilter = 'value' ; "