SQL包含条件(如果不为null)

SQL包含条件(如果不为null),第1张

SQL包含条件(如果不为null)

如果我理解正确,那么您将拥有一个包含几个未绑定控件表单,用户将填写该表单。然后,您想要根据用户输入的内容来过滤子表单。在这种情况下,您尝试使用的方法将变得非常复杂且难以维护,更不用说处理大量数据的速度也很慢。最好的选择是在代码中构建过滤器。我通常要做的是将控件的名称与字段名称相同,然后将字段类型放入控件的tag属性中。然后遍历控件以构建过滤器。这是空运代码,但应该给您一个开始。

Dim strFilter as string Dim ctL as Access.control For Each ctL inMe.Controls If Not ISNull(ctL) And ctL.Tag <> "" Then strFilter = strFilter &" AND " & ctl.Name & " = " If ctL.Tag = "Text" Then strFilter = strFilter &"'" & Replace(ctl, "'","''") & "'" ElseIf ctL.Tag = "Date" Then strFilter =strFilter & "#" & ctl & "#" Else strFilter = strFilter & ctlEnd If Next IfstrFilter <> "" Then strFilter = mid(strFilter, 6) strFilter = " Where " &strFilter End If Me.yourSubForm.Form.Recordsource = "Select * From <yourQuery>" & strfilter



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5640811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存