我有一个大约有6个多选列表框的表单。列表框从不同的表中填充。将listBoxes中的选择存储在变量中,然后在SQL查询中使用变量,我没有任何问题。变量存储从列表框中选择的项目如下:从多个多选列表框中构建SQL时遇到困难
If clientList.SelCount > 0 Then
For i = 0 To clientList.ListCount - 1
If clientList.Selected(i) Then
If Len(criteria_cl) = 0 Then
criteria_cl = Chr(39) & clientList.List(i) & Chr(39)
Else
criteria_cl = criteria_cl & "," & Chr(39) & clientList.List(i) & Chr(39)
End If
End If
Next
Else
End If
SQL查询是与更多的变量,被称为criteria_xx
strsql = "select * from pmt_hist_dmart_step2 where dbr_portfolio in (" & criteria_pf & ") and DBR_CLIENT in (" & criteria_cl & _
") and DBR_ACCT_TYPE in (" & criteria_ac & ")..... ;"
如何处理的情况时,用户没有进行如下选择。当前,criteria_xx变量变为空白,IN子句包含('')并引发错误。
请提供一些关于如何解决这个问题的建议?如果只有两个或三个列表框,我会写不同的查询,但这是六个多选列表框,我不知道。
在此先感谢。
可能重复[如何显示选定的记录](http://stackoverflow.com/questions/7951372/how-to-display-the-selected-records) – Deanna 2012-01-31 11:40:21
只需简单地省略那部分SQL,如果它是空白的,它会要求你稍微多一些条件。 – Deanna 2012-01-31 11:41:56