以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]SQL中空值与通配符的比较 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103438) |
-- 作者:kensou11111 -- 发布时间:2017/7/8 10:35:00 -- [求助]SQL中空值与通配符的比较 我设计了上面这个窗口,在按钮中设计了以下代码,希望可以实现上面所有条件的全模糊查询。但是当[来源],[区域],[时间],[项目],[供应商],[品牌]其中一列数据为空时,则此行数据将查询不出(是否是因为 空值 like “%%%” = false呢?)。那么这个代码该如何改进呢? Dim ld1,ld2,ld3,ld4,ld5 As String Dim startdate,enddate As Date If e.Form.Controls("区域").Value Is Nothing Then ld1 = "%" Else ld1 = e.Form.Controls("区域").Value End If If e.Form.Controls("项目").Value Is Nothing Then ld2 = "%" Else ld2 = e.Form.Controls("项目").Value End If If e.Form.Controls("供应商").Value Is Nothing Then ld3 = "%" Else ld3 = e.Form.Controls("供应商").Value End If If e.Form.Controls("品牌").Value Is Nothing Then ld4 = "%" Else ld4 = e.Form.Controls("品牌").Value End If If e.Form.Controls("来源").Value Is Nothing Then ld5 = "%" Else ld5 = e.Form.Controls("来源").Value End If If e.Form.Controls("开始日期").value Is Nothing Then startdate = #01/01/1900# Else startdate = e.Form.Controls("开始日期").value End If If e.Form.Controls("截止日期").value Is Nothing Then enddate = #01/01/9999# Else enddate = e.Form.Controls("截止日期").value End If [此贴子已经被作者于2017/7/8 10:42:47编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/7/8 10:37:00 -- 使用这种方式设置条件:http://www.foxtable.com/webhelp/scr/1058.htm |
-- 作者:kensou11111 -- 发布时间:2017/7/8 10:47:00 -- 确实,这样就可以避免在select语句中判断空值的问题了 |