使用复选框访问IIf语句检索值

时间:2014-05-19 20:45:38

标签: ms-access checkbox iif

我试图让一个列表框根据是否填写复选框来提取两个可能的值。我对列表框的行源是:

IIf([Forms]![frmPDPRate]![chkTrue],[qryPDPRate]![Initial],[qryPDPRate]![Renewal])

具体是我试图根据if [chkTrue]是true还是false来提取初始值或续订率。

另一个注意事项:列表框应该从中拉出的查询已根据级联组合框配对到一行。因此,查询中每列只有一个可能的选择。

编辑: 我认为我这一切都错了,但我不知道如何让它做到我想做的事。

Yawar,当我运行表单时没有任何事情发生,但这是有道理的,因为我无法强制行源在两种可能性之间进行选择。

2 个答案:

答案 0 :(得分:0)

我认为您需要在VBA中使用以下代码:

Private Sub chkTrue_AfterUpdate()
   If chkTrue =TRUE then
      listbox.RowSource = "SELECT Initial FROM qryPDRRate"
   Else
      listbox.RowSource = "SELECT Renewal FROM qryPDRRate"
   End If
End Sub

答案 1 :(得分:0)

我能够使用IIf语句在RowSource属性中使用查询生成器。 RowSource数据看起来如此。

SELECT IIf([Forms]![frmPDPRate]![chkTrue],[qryPDPRate]![Initial],[qryPDPRate]![Renewal])AS rate from qryPDPRate;