Office中国论坛/Access中国论坛
标题:
窗体查询语句请教
[打印本页]
作者:
大连海员
时间:
2011-3-22 17:14
标题:
窗体查询语句请教
多次在论坛中请教对于窗体查询的例句,但还是没有全弄明白,又遇到问题再次请教。
字段1为窗体查询的字段,格式为YYYY-MM
字段2为子窗体中对应的字段,格式为YYYY-MM-DD
想在字段1中输入2011-09,查询到字段2中在2011-09之前的数据。
初步写的语句为:
If Not IsNull(Me.字段1) Then
strWhere = strWhere & "([字段2] like '#" & Me.字段1 & "#') AND "
End If
需要解决两个问题:
1. 将字段2的格式用FORMAT语句改为YYYY-MM。
2. 将LIKE改为< =。
我自已试着改了几下,没有臧功,请指教。
谢谢
作者:
zyz218
时间:
2011-3-22 18:54
在子窗体中加一个年月字段即可,子窗体来源中
作者:
roych
时间:
2011-3-22 19:14
是用窗体筛选功能么?改成:
If Not IsNull(Me.字段1) Then
strWhere = strWhere & "([字段2] like '*" & Me.字段1 & "'*') AND "
End If
试试看?
事实上,我并不建议两个字段格式不一致的做法。因为这样容易出错,调试起来也比较麻烦。这里只以单个日期字段来做子窗体筛选,相信多几个字段LZ应该可以对付得来吧?
[attach]45152[/attach]
做成查询,也许会更好些:
[attach]45151[/attach]
作者:
大连海员
时间:
2011-3-23 09:13
非常感谢两位的解答,特别是“ROYCH”的详细回复,还做出了示例。
ROYCH做的第一个示例,就是我要的效果,只是还略有不同。我再解释一下情况,这个简易数据库,是用于统计一些证书的有效期,因此字段2的内容就会是YYYY-MM-DD,而字段1是想要查找,在“2011-10”月份,以前到期的证书,以便提前做安排,这样其格式就只能是“YYYY-MM”,所以没有办法变成两个段。
ROCYH做的示例中,查询的字段1数据是来源于字段2的,而我查询时是要自行输入合适的月份,不过经ROCYH的提醒,想到了用模糊查询的“*”号,只是不会套用在日期的格式中。
现在需要请教的是,请将以下字段,改为日期格式的语句:(目前仅适用于文本):
If Not IsNull(Me.字段1) Then
strWhere = strWhere & "([字段2] like '*" & Me.字段1 & "'*') AND "
End If
希望能够再提供帮助
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3