以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]内部函数调用 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175615) |
-- 作者:2425004926 -- 发布时间:2022/3/11 14:50:00 -- [求助]内部函数调用 以下是内部函数 \'Dim dta As String = Args(0) \'要检索的表名称 \'Dim dca As String = Args(1) \'要检索的列 \'Dim dcb As String = Args(2) \'要取值的列 \'Dim dcc As String = Args(3) \'准备查找值的列 \'Dim dcd As String = Args(4) \'准备填充值的列 Dim i1 As Integer = CurrentTable.TopRow \'最上行位置 Dim i2 As Integer = CurrentTable.BottomRow \'最末行位置 For ii As Integer = i1 To i2 Dim filter As String = Args(1) & "=" & CurrentTable.Rows(ii)(Args(3)) Dim dr As DataRow = DataTables(Args(0)).Find(filter) If dr IsNot Nothing Then \'Dim dr As DataRow = DataTables(Args(0)).Find("Args(1) = \'" & CurrentTable.Rows(ii)(Args(3)) & "\'") \'这样会发生错误 CurrentTable.Rows(ii)(Args(4)) = dr(Args(2)) Else Continue For End If Next \'测试OK,Functions.Execute("vlookup","表A","第一列","第二列","第一列","第二列") \'后两个参数是当前表的 之前是没有问题,可以调用 前几天升级新版本后今天用出错了,哪里原因? .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.1.30.2错误所在事件:自定义函数,vlookup 详细错误信息: 调用的目标发生了异常。 无法在 System.String 和 System.Int32 上执行“=”操作。 |
-- 作者:y2287958 -- 发布时间:2022/3/11 14:54:00 -- 类型对不上呗 |
-- 作者:有点蓝 -- 发布时间:2022/3/11 14:54:00 -- http://www.foxtable.com/webhelp/topics/1284.htm 表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。 例如: Tables("订单").Filter = "[产品] = \'PD01\'" \'字符用单引号括起来 |
-- 作者:2425004926 -- 发布时间:2022/3/11 15:18:00 -- 改为下面的, 好了, Dim filter As String = Args(1) & "=" & "\'" & CurrentTable.Rows(ii)(Args(3)) & "\'" 谢谢
|