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


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

主题:自定义函数

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
自定义函数  发帖心情 Post By:2018/10/12 9:41:00 [只看该作者]

在例子中自定义了以下函数,在表B中使用该函数,提示错误:

Dim dr As DataRow = DataTables("表A").find("第一列 = '" & Args(0) & "'")
If dr IsNot Nothing Then
    Args(1) = dr("第二列")
End If
Return Args(1)

 

应该怎么修改

.NET Framework 版本:2.0.50727.8935
Foxtable 版本:2018.9.9.1
错误所在事件:自定义函数QuZiHanShu
详细错误信息:
调用的目标发生了异常。
索引超出了数组界限。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目38.foxdb


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/12 9:44:00 [只看该作者]

Dim dr As DataRow = DataTables("表A").find("第一列 = '" & Args(0) & "'")
Dim str As String = ""
If dr IsNot Nothing Then
    str = dr("第二列")
End If
Return str

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/10/12 10:15:00 [只看该作者]

Dim dr As DataRow = DataTables("表A").find("第一列 = '" & Args(0) & "'and 第三列 = '" & Args(1) & "'and 第四列 = '" & Args(2) & "'and 第五列 = '" & Args(3) & "'")
Dim str As String = ""
If dr IsNot Nothing Then
    str = dr("第二列")
End If
Return str

把函数修改如上,使用函数如下,由于参数较多,使用黄色部分定义条件,提示错误,该怎么修改?

 

Dim filter As String = "e.DataRow("第一列"),e.DataRow("第三列"),e.DataRow("第四列"),e.DataRow("第五列")" 

Select Case e.DataCol.name
    Case "第一列"
        e.DataRow("第二列") = Functions.Execute("QuZiHanShu",e.DataRow("第一列"),e.DataRow("第三列"),e.DataRow("第四列"),e.DataRow("第五列")    )
End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/12 10:33:00 [只看该作者]

Dim dr As DataRow = DataTables("表A").find(args(0))
Dim str As String = ""
If dr IsNot Nothing Then
    str = dr("第二列")
End If
Return str

 

把函数修改如上,使用函数如下,由于参数较多,使用黄色部分定义条件,提示错误,该怎么修改?

 

Dim filter As String = "第一列 = '" & e.DataRow("第一列") & "'and 第三列 = '" & e.DataRow("第三列") & "'"
Select Case e.DataCol.name
    Case "第一列"
        e.DataRow("第二列") = Functions.Execute("QuZiHanShu", filter)
End Select


 回到顶部