Foxtable(狐表)用户栏目专家坐堂 → 窗体按钮编码问题


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

主题:窗体按钮编码问题

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
窗体按钮编码问题  发帖心情 Post By:2016/11/21 16:19:00 [只看该作者]


我做了一个按钮,录入下面编码。点击按钮,但出错,请各位老师帮忙看一下。


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")
        If dr Is Nothing Then '如果没有上一行,说明本行就是同产品的第一行
            mr("余额") = mr("借方") - mr("贷方")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [供应商编码] = '" & dr("供应商编码") & "'")
        For i As Integer = 1 To drs.Count - 1 '重算余下行的余额
            drs(i)("余额") = drs(i-1)("余额") + drs(i)("借方") - drs(i)("贷方")
        Next
End Select

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/21 16:23:00 [只看该作者]

 报什么错?贴出错误截图。

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/21 16:27:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20161121162610.png
图片点击可在新窗口打开查看


有点青老师,出现的是这个错误。

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109702 积分:558214 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/21 17:00:00 [只看该作者]

表事件代码不能直接搬到按钮事件使用的。

如果是按钮代码应该是重置一下列或当前行http://www.foxtable.com/webhelp/scr/1468.htm

DataTables("员工").DataCols("出生日期").RaiseDataColChanged()

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/22 7:48:00 [只看该作者]

有点蓝老师,如果我想用按钮实现以下编码的效果,有没有办法把编码改一下,或者用其他的方法实现。现在的表事件编码,如果我想一次性录入大量供应商编码,只能是先将表事件代码变成注释,供应商编码录完后,才能运行,否则就会出现假死现象。




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")
        If dr Is Nothing Then '如果没有上一行,说明本行就是同产品的第一行
            mr("余额") = mr("借方") - mr("贷方")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [供应商编码] = '" & dr("供应商编码") & "'")
        For i As Integer = 1 To drs.Count - 1 '重算余下行的余额
            drs(i)("余额") = drs(i-1)("余额") + drs(i)("借方") - drs(i)("贷方")
        Next
End Select


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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/22 8:50:00 [只看该作者]

Dim dt As DataTable = DataTables("表A")
For Each gys As String In dt.GetValues("供应商编号")
    Dim dr As DataRow = dt.Find("供应商编号 = '" & gys & "'", "_sortkey")
    Dim mr As DataRow = dr
    Dim drs As List(of DataRow)
    dr = dt.Find("[_SortKey] < " & mr("_SortKey") & " And [供应商编码] = '" & mr("供应商编码") & "'", "[_SortKey] Desc")
    If dr Is Nothing Then '如果没有上一行,说明本行就是同产品的第一行
        mr("余额") = mr("借方") - mr("贷方")
        dr = mr
    End If
    drs = dt.Select("[_SortKey] >= " & dr("_SortKey") & " And [供应商编码] = '" & dr("供应商编码") & "'")
    For i As Integer = 1 To drs.Count - 1 '重算余下行的余额
        drs(i)("余额") = drs(i-1)("余额") + drs(i)("借方") - drs(i)("贷方")
    Next
Next

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/22 9:36:00 [只看该作者]

谢谢有点青老师。

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/22 12:17:00 [只看该作者]

有点青老师,我把代码稍改了一下,出现错误提示,附件实在传不上去。
代码如下:
Dim dt As DataTable = DataTables("应付账款")
For Each gys As String In dt.GetValues("供应商编码")
    Dim dr As DataRow = dt.Find("供应商编码 = '" & gys & "'", "_sortkey")
    Dim mr As DataRow = dr
    Dim drs As List(of DataRow)
    dr = dt.Find("[_SortKey] < " & mr("_SortKey") & " And [供应商编码] = '" & mr("供应商编码") & "'", "[_SortKey] Desc")
    If dr Is Nothing Then '如果没有上一行,说明本行就是同产品的第一行
        mr("余额") = mr("借方") - mr("贷方")
        dr = mr
    End If
    drs = dt.Select("[_SortKey] >= " & dr("_SortKey") & " And [供应商编码] = '" & dr("供应商编码") & "'")
    For i As Integer = 1 To drs.Count - 1 '重算余下行的余额
        drs(i)("余额") = drs(i-1)("余额") + drs(i)("借方") - drs(i)("贷方")
    Next
Next

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/22 12:20:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20161122104431.png
图片点击可在新窗口打开查看

这是错误提示窗口

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/22 13:12:00 [只看该作者]

请有点青老师帮忙看一下错误是什么原因造成的。


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