Foxtable(狐表)用户栏目专家坐堂 → 高效流水账设计


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

主题:高效流水账设计

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
高效流水账设计  发帖心情 Post By:2020/12/13 14:08:00 [只看该作者]

老师,下面代码是流水账设计,当条件只有订单编号时运行代码就没问题 ,加入产品编码条件后就提示如下错误信息:
.NET Framework 版本:2.0.50727.8806
Foxtable 版本:2017.10.26.1
错误所在事件:表,收款明细表, DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“[_SortKey] Desc”到类型“Integer”的转换无效。
输入字符串的格式不正确。
下面是事件代码:
Select Case e.DataCol.Name
    Case "已收金额","本次收款金额","订单编号","产品编码"
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [订单编号] = '" & mr("订单编号") & "'", "[_SortKey] Desc And [产品编码] = '" & mr("产品编码") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then
            mr("已收金额") = 0
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [订单编号] = '" & dr("订单编号") & "'", "[_SortKey] And [产品编码] = '" & dr("产品编码") & "'", "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1
            drs(i)("已收金额") = drs(i-1)("本次收款金额") + drs(i-1)("已收金额") 
        Next
        If e.DataCol.Name = "订单编号" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue And "产品编码" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [订单编号] = '" & e.OldValue & "'", "[_SortKey] Desc And [产品编码] = '" & e.OldValue & "'", "[_SortKey] Desc")
            If dr Is Nothing Then
                dr = e.DataTable.Find("[订单编号] = '" & e.OldValue & "'", "[_SortKey] and [产品编码] = '" & e.OldValue & "'", "[_SortKey]")
                If dr IsNot Nothing Then
                    dr("已收金额") = 0
                End If
            End If
            If dr IsNot Nothing Then
                drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [订单编号] = '" & dr("订单编号") & "'", "[_SortKey] And [产品编码] = '" & dr("产品编码") & "'", "[_SortKey]")
                For i As Integer = 1 To drs.Count - 1
                    drs(i)("已收金额") = drs(i-1)("已收金额") + drs(i-1)("本次收款金额") 
                Next
            End If
        End If
End Select

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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/13 20:51:00 [只看该作者]

Dim drs As List(of DataRow)
dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [订单编号] = '" & mr("订单编号") & "'  And [产品编码] = '" & mr("产品编码") & "'", "[_SortKey] Desc")

drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [订单编号] = '" & dr("订单编号") & "' And [产品编码] = '" & dr("产品编码") & "'", "[_SortKey]")

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2020/12/13 23:15:00 [只看该作者]

谢谢老师不辞辛苦的回复,真的感谢!!

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2020/12/13 23:17:00 [只看该作者]

不过又提示以下错误(其他代码比照老师的逻辑做了修改也提示这个错误):
.NET Framework 版本:2.0.50727.8806
Foxtable 版本:2017.10.26.1
错误所在事件:表,收款明细表, DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“产品编码”到类型“Boolean”的转换无效。
输入字符串的格式不正确。

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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/13 23:25:00 [只看该作者]

先看几遍:http://www.foxtable.com/webhelp/topics/1284.htm

其他地方参考2楼的方式改正

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2020/12/26 23:12:00 [只看该作者]

老师,看不懂这个错误原因,知道事件所在地方,但看不明白错误的原因.
.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2017.10.26.1
错误所在事件:表,客商科目明细表, DataColChanged
详细错误信息:
Exception has been thrown by the target of an invocation.
Conversion from string "客商编码" to type 'Boolean' is not valid.
Input string was not in a correct format.
[此贴子已经被作者于2020/12/26 23:13:01编辑过]

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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/27 20:47:00 [只看该作者]

从字符串“客商编码”到类型“Boolean”的转换无效。

 回到顶部