Foxtable(狐表)用户栏目专家坐堂 → 空值問題


  共有9899人关注过本帖树形打印复制链接

主题:空值問題

帅哥哟,离线,有人找我吗?
hhbb
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
空值問題  发帖心情 Post By:2012/4/7 16:43:00 [显示全部帖子]

窗口中有一SQLQuery查詢表,Fill1與Fill2都有"Email"列,設一鍵二用,篩選Email用戶與冇Email用戶,結果,折騰許久,非得如此設置才成!不明白啊??

其中  Fill1的Email列內容是由SQL的INNER JOIN連接[客戶資料]表而來,
        Fill2的Email列內容是由[客戶資料]表賦值而來

[ > '', ='']  與 [ Is not Null, Is Null] 省掉任何一個都不行

Dim s1 As String
Dim t As Table =Tables("查詢_Table1")
vars("bn1") =not vars("bn1")

If t.DataTable.DataCols.Contains("轉賬方式") Then
   s1 =  iif(vars("bn1") = True," > ''"," =''")        
Else
    s1  = iif(vars("bn1") = True," Is not Null"," Is Null")
End If

t.filter = "Email" & s1

 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/4/9 11:04:00 [显示全部帖子]

我現在寫成這樣OK,但如以[Email Is not null] 替代 [Email > ''],反而不OK了,
[Email Is not null] <> [Email > '']嗎?非空[Email > '']更通用嗎?

Dim s1 As String
Dim t As Table =Tables("查詢_Table1")

vars("bn1") =not vars("bn1")
s1=  iif(vars("bn1") = True,"Email > ''","Email is Null or Email =''")        
t.filter = s1



 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/4/9 11:12:00 [显示全部帖子]

明白Email is Null or Email =''

我說是[Email Is not null] 不等於 [Email > '']嗎?

 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/4/9 11:24:00 [显示全部帖子]

以下是引用狐狸爸爸在2012-4-9 11:14:00的发言:

不等于的。


昏!這個空與非空還真複雜! 難道何時用 [Email > ''],何時用[Email Is not null]只能實踐了?



 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/4/9 11:30:00 [显示全部帖子]

以下是引用狐狸爸爸在2012-4-9 11:25:00的发言:
不用实践,不管三七二一,两个都写上,用or连起来。
不行啊!這個OK
Dim s1 As String
Dim t As Table =Tables("查詢_Table1")
vars("bn1") =not vars("bn1")
s1=  iif(vars("bn1") = True,"Email > ''","Email is Null or Email =''")        
t.filter = s1


兩個都寫上不OK啊?
Dim s1 As String
Dim t As Table =Tables("查詢_Table1")
vars("bn1") =not vars("bn1")
s1=  iif(vars("bn1") = True,"Email Is not Null or Email > ''","Email is Null or Email =''")        
t.filter = s1


 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/4/9 11:45:00 [显示全部帖子]

以下是引用狐狸爸爸在2012-4-9 11:36:00的发言:
第一个是正确:
 
Email is Null or Email = ''
 
第二个应该:
 
Email Is not Null  And Email >''
OK,多謝老大!這樣說來,字符列非空似乎用 [> '']就行了,[> ''][Is not null]更好用.


 回到顶部