过滤访问组合框

时间:2011-04-28 17:22:30

标签: ms-access

我有一个包含两个组合框的表单的访问数据库。一个组合框根据第一个组合框的选择过滤其选项。这很好用,但是 - 我有一个命令按钮,可以更改表单的记录源。我只知道如何基于一个表填充组合框。因此,当表单更改记录源时,组合框仍然填充了第一个记录源中的选项。如何创建一个查询来填充组合框选项,而不是在一个表上,而是基于当时表单的记录源?

1 个答案:

答案 0 :(得分:1)

在更改RecordSource的同一命令按钮处理程序中,为每个组合框分配一个新的RowSource。更好的是,在按钮处理程序调用的单独子中执行此操作。您的代码必须知道或能够弄清楚新的RowSource应该与新的RecordSource相对应。

编辑回复评论

RowSource不必是QueryDef对象,它只能是一个SQL语句:

Dim sSQL As String

sSQL = "select whatever from wherever"
comboBox.RowSource = sSQL

在我编辑的同时我看不到这些评论,但是我不明白你在第二次提到的是什么......一秒钟,分开,看看评论,我想你问它你可以将RowSource设置为表单的RecordSource属性。这让我觉得一个坏主意 - 你可能在RecordSource中获得了比你想要在RowSource中处理更多的列,并且查询构造的基本原则是只请求你想要的列。