Foxtable(狐表)用户栏目专家坐堂 → 代码求助


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

主题:代码求助

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
代码求助  发帖心情 Post By:2020/9/6 5:24:00 [只看该作者]

If Tables("月缴费表").Current.Isnull("姓名") = False Then
    Dim d As Date = Tables("月缴费表").Current("日期")
    Dim r As Row = Tables("月缴费表").Current
    Dim Filter As String
    Filter = "日期 < '" & d & "' and 姓名 = '" & r("姓名") & "'"
    
    Dim dr As DataRow = DataTables("月缴费表").find(Filter,"日期 desc")
    If dr IsNot Nothing Then
        r("电费_期初") = dr("电费_期末")
        r("姓名") = dr("姓名")
    End If
End If

老师,我这个是一个默认取该表里上个月期末值,作为本月的期初值,但是有特殊情况,电表坏了,换电表的这种情况,那么就不能这样取值了,我现在是能手工修改,但还是变为自动取得值,老师,这个怎么处理呀,能改过来呢,请教老师。

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


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

什么时候可以这样取值?什么时候不可以?有什么条件可以判断?

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/9/6 22:16:00 [只看该作者]

If Tables("月缴费表").Current.Isnull("姓名") = False Then
    If Tables("月缴费表").Current("电表状态") = 0 Then
        Dim d As Date = Tables("月缴费表").Current("日期")
        Dim r As Row = Tables("月缴费表").Current
        Dim Filter As String
        Filter = "日期 < '" & d & "' and 姓名 = '" & r("姓名") & "'"
        
        Dim dr As DataRow = DataTables("月缴费表").find(Filter,"日期 desc")
        If dr IsNot Nothing Then
            r("电费_期初") = dr("电费_期末")
            r("姓名") = dr("姓名")
        End If
    ElseIf Tables("月缴费表").Current("电表状态") = 1 Then
        Tables("月缴费表").Current("电费_期初") = Nothing
    End If
End If

老师,我是这样弄得,给 住户表, 月缴费表 都加入一个逻辑字段   电表状态,   0是默认的,代表状态正常,Tables("月缴费表").Current("电表状态"),这个值是是通过录入时,通过录入住户姓名,传过来的。当出现情况时,修改这个字段。为1时,即代表是换了新电表,不默认取值,重新手工填入期初值,完了再修改用户表的  电表状态字段,实现下个月时,再默认的取这个新电表上个月的期末值。现在问题是  红色代码结果是  不管  住户表 用电状态,判断条件不起作用,期初值 都为空了。

老师,这种方法可行吗,请教了。

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


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

去掉这2句

    ElseIf Tables("月缴费表").Current("电表状态") = 1 Then
        Tables("月缴费表").Current("电费_期初") = Nothing

 回到顶部