|
本帖最后由 ZjwRicky_3721 于 2016-9-15 19:26 编辑
如图,我想通过生日日期查询的两个日期控件,输入一段起始日期,并利用这两个起始日期的“月-日”作为子窗体(包含客户生日字段)的筛选条件,把这一段时间过生日的客户信息筛选显示在子窗体里。但运行结果显示“无效使用 Null”。在下Access初学菜鸟,能力有限,请哪位大神高手指点迷津。感激不尽!!
具体代码如下:strWhere = "" '设定初始值-空字符串
If Not IsNull(Me.客户姓名) Then '判断【客户姓名】条件是否有输入的值
strWhere = strWhere & "([客户姓名] like '*" & Me.客户姓名 & "*') AND " '有输入
End If
'判断【生日日期查询】条件是否有输入的值,由于有【生日起始日期】【生日截至日期】两个文本框
If Not IsNull(Me.生日起始日期) Then
strWhere = strWhere & "(#" & Format(Month([客户生日]), "mm") & "-" & Format(Day([客户生日]), "dd") & "# >= #" & Format(Month(Me.生日起始日期), "mm") & "-" & Format(Day(Me.生日起始日期), "dd") & "#) AND " '【生日起始日期】有输入
End If
If Not IsNull(Me.生日截至日期) Then
strWhere = strWhere & "(#" & Format(Month([客户生日]), "mm") & "-" & Format(Day([客户生日]), "dd") & "# <= #" & Format(Month(Me.生日截至日期), "mm") & "-" & Format(Day(Me.生日截至日期), "dd") & "#) AND " '【生日截至日期】有输入
End If
'如果输入了条件,strWhere的最后肯定有" AND ",需要去掉这5个多余的字符
If Len(strWhere) > 0 Then
strWhere = Left(strWhere, Len(strWhere) - 5) '有输入条件
End If
Debug.Print strWhere '先在立即窗口显示一下strWhere的值,代码调试完成后可以取消下一句
'让子窗体应用窗体查询
Me.[客户家庭子窗体].Form.Filter = strWhere
Me.[客户家庭子窗体].Form.FilterOn = True
Me.[客户保单子窗体].Form.Filter = strWhere
Me.[客户保单子窗体].Form.FilterOn = True
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|