Foxtable(狐表)用户栏目专家坐堂 → 自定义函数问题


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

主题:自定义函数问题

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/8 16:08:00 [显示全部帖子]

 dr(colName) = newV 

不能一股脑的这样赋值,你要确定你列类型和 你NewV的类型是否匹配

数值类型和字符串类型是不可以互相赋值的

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/8 16:13:00 [显示全部帖子]

For Each dCol As DataCol In dt.DataCols
        If dCol.Name = colName Then
            For Each dr As DataRow In dt.Select("[" & colName & "] = '" & oldV & "'")  
                dr(colName) = newV
            Next
        End If
    Next

像这个你不需要遍历所有列啊.你传入的时候就应该知道该列是否对应.
[此贴子已经被作者于2015/5/8 16:14:06编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/8 16:16:00 [显示全部帖子]

那个遍历是多余的,如果要判断列是否存在用

    
if dt.datacols.Contains(colName) then
For Each dr As DataRow In dt.Select("[" & colName & "] = '" & oldV & "'")  
                dr(colName) = newV
Next
end if

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/8 16:16:00 [显示全部帖子]

你传入值的时候,就应该传入对应的值.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/8 16:20:00 [显示全部帖子]

不需要知道位置. 没看懂你想做什么,又遍历所有表,又遍历列的.  你直接说明你想实现什么

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/8 16:25:00 [显示全部帖子]

不用遍历,用我前面的IF 代码判断是否包含即可.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/8 16:34:00 [显示全部帖子]

数据类型前面已经和你解释过了.11楼也有给你解释

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/8 16:47:00 [显示全部帖子]

不用判断数据类型,你原本数据类型就应该对应

 回到顶部