Office中国论坛/Access中国论坛

标题: 关于用窗体多条件查询的问题 [打印本页]

作者: laowang2    时间: 2002-5-16 18:36
标题: 关于用窗体多条件查询的问题
我现有一查询窗体名为“定义查询”,窗体的内容为:站名、单位、部门、车号、油品、日期等,是通过下拉式组合框来实现条件的选择。
另有一选择查询名为“查询1”,在此查询中我加的判断站名的条件是“IIf(([Forms]![定义查询]![站名]=""),"*",([Forms]![定义查询]![站名]))”,我是意思是:当选择站名时,按站名查询,当不选时,表示为默认(该字段的全部值)。我判断单位的条件是“IIf(([Forms]![定义查询]![单位]=""),"*",([Forms]![定义查询]![单位]))”,以此另推,........
但我查询时,必须输入全部条件,才能查出正确结果,只要不输一个,就会把一个空值提交到查询一起执行,所总得不到正确结果。
请问各位大哥,我用的条件对不对?或者代表字段全部的通配符是不是“*”?如果我的方法不可取,还可用什么方法?请各位赐教?万分感谢!
[em01]
作者: rhwang    时间: 2002-5-16 19:17
这个问题你可以这么做:在窗体打开的事件中,对下拉框的RowSource进行更新。

Private Sub Form_Open(Cancel As Integer)
  With cboCustomer
    .RowSource = "SELECT CustNo, CustName" _
       & " FROM CustMaster" _
       & " UNION" _
       & " SELECT '*' As CustNo, '(ALL)' As CustName" _
       & " FROM CustMaster" _
       & " ORDER BY CustNo;"
    .Requery
  End With
End Sub

然后就在下拉框中多了一条(ALL)的纪录……
作者: sunredday    时间: 2002-5-16 20:51
like "*"&[Forms]![定义查询]![站名]&"*"


[此贴子已经被作者于2002-5-16 12:50:56编辑过]


作者: laowang2    时间: 2002-5-16 22:34
rhwang,对不起我看不懂你写的东西,能否说的具体点,或者在需要改动的地方用中文表示,不好意思,我的中文不太好。谢谢!



sunredday ,你写的like "*"&[Forms]![定义查询]![站名]&"*",应该放在我的条件的什么地方???我看不太清楚,对不起,我是初学者,谢谢!




[此贴子已经被作者于2002-5-16 14:33:40编辑过]


作者: laowang2    时间: 2002-5-16 22:41
标题: 懂了
sunredday,谢谢,我知道了,把它直接作为条件。
作者: zqhlong868    时间: 2007-4-28 20:36
我也在找这个问题
作者: dorislh    时间: 2007-6-13 18:45
我的怎么还是不行呀,头痛哦
作者: tz-chf    时间: 2007-6-13 19:19
IIf(([Forms]![定义查询]![单位]=""),"*",([Forms]![定义查询]![单位]))




窗体上应该是用未绑定的单位表的单位ID字段。




IIf(isnull([Forms]![定义查询]![单位ID]),[单位ID],[Forms]![定义查询]![单位ID])




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3