Foxtable(狐表)用户栏目专家坐堂 → 列中的空值更改为NUll


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

主题:列中的空值更改为NUll

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
列中的空值更改为NUll  发帖心情 Post By:2013/11/12 16:37:00 [只看该作者]

表的某些列中存在一些看起来为空实际又不是Null的值,要用下面的代码将为空的值更改为Null,但是保存后不起作用啊!
For Each r As Row In Tables(e.Form.name & "_主表").Rows
    If r("单据编号") = "" Then
        r("单据编号") = Nothing '将单据编号设为Null
    End If
Next
是不是这种情况根本不会触发保存,因为表面看起来没有改变,要怎么办才可以,而且有些空值中可能是几个空格不等,有的还可能有空的换行符。

谢谢!

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/12 16:41:00 [只看该作者]

你现在是要清空空格和换行符那些吗?

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/11/12 16:42:00 [只看该作者]

是啊,全部清掉,变为null

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/12 16:47:00 [只看该作者]

If RegularExpressions.Regex.IsMatch(r("单据编号"),"^[\r\t\n\s]+$") Then
r("单据编号") = Nothing 
End If


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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/11/12 16:59:00 [只看该作者]

谢谢bin,主要不是匹配的问题,而是用
r("单据编号") = Nothing 
按保存按钮后保存没有生效,再次用is not null筛选那些修改过的数据还是存在,而用is null筛选却什么都没有,说明还没有设置为Null.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/12 17:01:00 [只看该作者]

你确定不是匹配问题?
试试
r("单据编号") = ""  

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/11/12 17:15:00 [只看该作者]

也没用,比如下图:勾选NUll时应该显示单据编号为Null的数据,但却一行也没有,而取消勾选时显示is not null的数据却两行都显示出来了,说明下面那行的单据编号不是null,就想将它修改为null,用1楼的代码保存后却不起作用


图片点击可在新窗口打开查看此主题相关图片如下:360截图20131112170749435.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/12 17:19:00 [只看该作者]

上例子,没有道理.

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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/11/12 18:15:00 [只看该作者]

这个是导入或复制Excel等粘贴到foxtable里的结果,很早就是这样的了 


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-11-12 18:16:02编辑过]

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/11/12 18:23:00 [只看该作者]

原因找到,就是
 If r("单据编号") = "" Then
        r("单据编号") = Nothing '将单据编号设为Null
    End If
这个语句执行后保存的话按ft的保存机制是不会保存的,我认为可能它认为"" 和nothing是一样的,
后来改用Update语句直接更新就可以了。

 回到顶部
总数 13 1 2 下一页