2014-05-19 36 views
0

我试图让一个列表框根据是否填充复选框来提取两个可能的值。行来源我有一个列表框:访问IIf语句使用复选框检索值

IIF(!!!![表格] [frmPDPRate] [chkTrue],[qryPDPRate] [初始],[qryPDPRate] [更新])

的具体细节是我试图根据if [chkTrue]是true还是false来计算费率,无论是Initial还是Renewal。

另注:基于级联组合框列表框应该从拉动查询已配对到一排。所以查询中每列只有一个可能的选择。

编辑: 我想我正在讨论这一切都是错误的,但我不知道如何让它做到这一点我想要的。

亚瓦尔,当我运行的形式,但是这是有道理的,因为我不能强迫行源两种可能性之间进行选择什么也没有发生。

+0

究竟是什么问题? – Yawar

+0

您在“RowSource”属性中使用的字段不是查询?这没有什么意义。 –

+0

@EMett你是对的,我希望能够使用一个iif语句来引导它到基于复选框的查询中的正确字段,但那是行不通的。 – Cyrissist

回答

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 
+0

谢谢你带领我朝着正确的方向前进。我想我在第一次尝试使用查询生成器作为列表框时犯了一个错误,但它可以通过那里完成。 – Cyrissist

0

我能够使用IIF语句使用查询生成器在行来源属性。行来源数据看起来像这样。选择IIf([Forms]![frmPDPRate]![chkTrue],[qryPDPRate]![Initial],[qryPDPRate]![Renewal])AS Rate FROM qryPDPRate;