Foxtable(狐表)用户栏目专家坐堂 → [求助] 代码有问题,帮忙看一下?


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

主题:[求助] 代码有问题,帮忙看一下?

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
[求助] 代码有问题,帮忙看一下?  发帖心情 Post By:2015/8/31 16:23:00 [只看该作者]

With e.DataRow("客户名称") IsNot Nothing
    Dim d As Date =Date.now
    e.DataRow("本期年度")=d.year
End With
Select Case e.DataCol.name
    Case "客户名称","本期年度"
        If e.DataRow("客户名称") IsNot Nothing AndAlso e.DataRow("本期年度") IsNot Nothing Then
            Dim filter As String
            filter = "客户名称 = '" & e.DataRow("客户名称") & "' and 年度= '" & e.DataRow("本期年度")-1 &"'"
            Dim dr As DataRow=DataTables("结余历史数据").Find(filter)
            If dr Is Nothing Then
                messagebox.show("未找到该客户的结余数据,请手动填写或核实!","提示")
                Return
            Else
                e.DataRow("上期结转_货款金额")= dr("账款结余")
                e.DataRow("上期结转_货物数量")= dr("货物数量结余")
            End If
        End If
End Select

 

 

为何当年度自动输完后,没有找到相应数据,msgbox弹出来两次??


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


加好友 发短信
等级:超级版主 帖子:107721 积分:547938 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/31 16:30:00 [只看该作者]

年度是整型的吗?整型的把filter中单引号去掉。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/31 16:35:00 [只看该作者]


Select Case e.DataCol.name
    Case "客户名称","本期年度"
        If e.DataRow.Isnull("客户名称") = False Then
            systemready = False
            e.DataRow("本期年度") = Date.today.Year
            systemready = True
            Dim filter As String
            filter = "客户名称 = '" & e.DataRow("客户名称") & "' and 年度= '" & e.DataRow("本期年度")-1 &"'"
            Dim dr As DataRow=DataTables("结余历史数据").Find(filter)
            If dr Is Nothing Then
                messagebox.show("未找到该客户的结余数据,请手动填写或核实!","提示")
                Return
            Else
                e.DataRow("上期结转_货款金额")= dr("账款结余")
                e.DataRow("上期结转_货物数量")= dr("货物数量结余")
            End If
        End If
End Select


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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
  发帖心情 Post By:2015/8/31 16:48:00 [只看该作者]

谢谢红袍兄,你的代码可以!加入一个状态判断吧

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/31 16:53:00 [只看该作者]

你要做的逻辑,直接这样写也行

 

Select Case e.DataCol.name
    Case "客户名称"
        If e.DataRow.Isnull("客户名称") = False Then
            e.DataRow("本期年度") = Date.today.Year
            Dim filter As String
            filter = "客户名称 = '" & e.DataRow("客户名称") & "' and 年度= '" & e.DataRow("本期年度")-1 &"'"
            Dim dr As DataRow=DataTables("结余历史数据").Find(filter)
            If dr Is Nothing Then
                messagebox.show("未找到该客户的结余数据,请手动填写或核实!","提示")
                Return
            Else
                e.DataRow("上期结转_货款金额")= dr("账款结余")
                e.DataRow("上期结转_货物数量")= dr("货物数量结余")
            End If
        End If
End Select


 回到顶部