我试图让一个列表框根据是否填写复选框来提取两个可能的值。我对列表框的行源是:
IIf([Forms]![frmPDPRate]![chkTrue],[qryPDPRate]![Initial],[qryPDPRate]![Renewal])
具体是我试图根据if [chkTrue]是true还是false来提取初始值或续订率。
另一个注意事项:列表框应该从中拉出的查询已根据级联组合框配对到一行。因此,查询中每列只有一个可能的选择。
编辑: 我认为我这一切都错了,但我不知道如何让它做到我想做的事。
Yawar,当我运行表单时没有任何事情发生,但这是有道理的,因为我无法强制行源在两种可能性之间进行选择。
答案 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;