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


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

主题:空值疑问

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


加好友 发短信
等级:幼狐 帖子:106 积分:1331 威望:0 精华:0 注册:2021/8/20 16:21:00
空值疑问  发帖心情 Post By:2022/3/31 10:02:00 [只看该作者]

表A,表B两表中编号列字符相同,规格列同为空
Dim r As Row ..表A
Dim br As Row ..表B
Output.Show(r("编号") = br("编号"))
Output.Show(r("规格") = br("规格"))
都显示为True
Dim drs As List(of DataRow) = DataTables("表B").Select("编号 = '" & r("编号") & "' and 规格 = '" & r("规格") & "'")
drs.count = 0 
明明两个条件都成立,为什么查询不到呢?代码应该怎么写

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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/31 10:06:00 [只看该作者]

空值要另外处理

if r.isnull("规格") then
Dim drs As List(of DataRow) = DataTables("表B").Select("编号 = '" & r("编号") & "' and 规格 is null'")
else
Dim drs As List(of DataRow) = DataTables("表B").Select("编号 = '" & r("编号") & "' and 规格 = '" & r("规格") & "'")
endif

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


加好友 发短信
等级:幼狐 帖子:106 积分:1331 威望:0 精华:0 注册:2021/8/20 16:21:00
  发帖心情 Post By:2022/3/31 10:50:00 [只看该作者]

接上面,用表B生成统计表后,编号、规格分组列都变成了备注型,再用统计表数据继续查询表B时
dim xr as row ..'统计表中行
此时 xr.isnull("规格") =false ,下面代码也就不对了,应该怎么处理呢
Dim drs As List(of DataRow) = DataTables("表B").Select("编号 = '" & xr("编号") & "' and 规格 is null")

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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/31 11:00:00 [只看该作者]

if r.isnull("规格") then "规格"为空的用法
Dim drs As List(of DataRow) = DataTables("表B").Select("编号 = '" & r("编号") & "' and 规格 is null'")
else "规格"为空的用法
Dim drs As List(of DataRow) = DataTables("表B").Select("编号 = '" & r("编号") & "' and 规格 = '" & r("规格") & "'")
endif

如果不知道if else是干嘛用的,学一下编程基础:http://www.foxtable.com/webhelp/topics/0223.htm

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


加好友 发短信
等级:幼狐 帖子:106 积分:1331 威望:0 精华:0 注册:2021/8/20 16:21:00
  发帖心情 Post By:2022/3/31 11:21:00 [只看该作者]

老师,上一个问题是用交叉统计后分组列"规格"变成了备注型,不知是不是跟列类型有关系。
在生成的统计表中xr("规格")显示是空的,但xr.isnull("规格")却返回false。


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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/31 11:24:00 [只看该作者]

请上传实例说明

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


加好友 发短信
等级:幼狐 帖子:106 积分:1331 威望:0 精华:0 注册:2021/8/20 16:21:00
  发帖心情 Post By:2022/3/31 11:54:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:示例.rar


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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/31 13:57:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:示例.zip


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


加好友 发短信
等级:幼狐 帖子:106 积分:1331 威望:0 精华:0 注册:2021/8/20 16:21:00
  发帖心情 Post By:2022/3/31 15:19:00 [只看该作者]

谢谢老师更正。貌似可以理解为备注型不存在is null,直接if dr("规格") <> ""即可

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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/31 15:41:00 [只看该作者]

和备注型这个类型本身没有什么关系,而是生成统计表的过程中,因为统计计算的原因,空值处理成了空字符串

 回到顶部