要编写一个筛选语句,内容为:
如果“日期1”和“日期2”都不为空,则筛选出:“日期”>“日期1” 和“日期”<“日期2”的数据,我编写后运行不对,请指教,语句如下:
If Not IsNull(Me.日期1) And IsNull(Me.日期2) Then
'有输入
strWhere = strWhere & "([日期] > '*" & Me.日期1 & "*') AND " & "([日期] < '*" & Me.日期2 & "*') AND "
End If作者: netguestcn 时间: 2013-3-24 20:33
If Not IsNull(Me.日期1) Then strWhere = strWhere & " AND 日期>=#" & Me.日期1 & "#"
If Not IsNull(Me.日期2) Then strWhere = strWhere & " AND 日期<=#" & Me.日期2 & "#"作者: 大连海员 时间: 2013-3-24 21:56
谢谢楼上的回复,但好象还是不对,我的水平不高,能否帮忙修改为与if 和end if 完全一样的格式,因为这个查询中还有别的一些查询语句,必须要一样才行的。
再次感谢作者: 你是坏蛋 时间: 2013-3-25 07:23
把你原来的语句的*换成#,在把单引号去掉就可以了啊。
当然,IF条件也有错。 If Not IsNull(Me.日期1) And IsNull(Me.日期2) Then 改为If Not IsNull(Me.日期1) And not IsNull(Me.日期2) Then 作者: mclly2000 时间: 2013-3-25 09:11 http://www.office-cn.net/thread-107068-1-1.html 参考作者: 大连海员 时间: 2013-3-25 20:15
谢谢楼上各位指教,后来改为以下语句后正确了:
If Not IsNull(Me.日期1) And Not IsNull(Me.日期2) Then
strWhere = strWhere & "([日期] > #" & Me.建期1 & "#) AND "
strWhere = strWhere & "([日期] < #" & Me.日期2 & "#) AND "
End If
但是我对这文本、数字、日期的格式理解还是不太对,因此接下来的一个数字型的,又整不对了(什么*, ' '' 的整不明白了),麻烦再看一下数字的符号如何改的:
If Not IsNull(Me.数字1) And Not IsNull(Me.数字2) Then
strWhere = strWhere & "([数字] > #" & Me.数字1 & "#) AND "
strWhere = strWhere & "([数字] < #" & Me.数字2 & "#) AND "
End If
再次感谢各位帮助作者: roych 时间: 2013-3-25 21:07
大连海员 发表于 2013-3-25 20:15
谢谢楼上各位指教,后来改为以下语句后正确了:
If Not IsNull(Me.日期1) And Not IsNull(Me.日期2) Then ...