Foxtable(狐表)用户栏目专家坐堂 → 代码运行后出错


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

主题:代码运行后出错

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
代码运行后出错  发帖心情 Post By:2018/1/29 9:08:00 [显示全部帖子]

Dim dt_xyk As DataTable = DataTables("信用卡")
Dim dt_lsz As DataTable = DataTables("流水账")
Dim dt_dyyh As DataTable = DataTables("出账")
dt_dyyh.DataRows.Clear
Dim d As Date = new Date(Date.Today.Year, Date.Today.Month, 1)
Dim ds() As Date = {d, d.AddMonths(1)}
d = d.AddMonths(-1)
For Each dr As DataRow In dt_xyk.DataRows
    Dim ndr As DataRow = dt_dyyh.AddNew
    ndr("账户名称") = dr("账户名称")
    ndr("卡号") = dr("卡号")
    ndr("账单日") = dr("账单日")
    ndr("起始记账日") = d.AddDays(dr("账单日"))
    ndr("本期支付") = dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 日期 < #" & ndr("起始记账日") & "# and 类别 = '转出'")
    ndr("本期还款") = dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 日期 < #" & ndr("起始记账日") & "# and 类别 = '转入'")
    ndr("信用额度") = dr("信用额度")
    ndr("本期应还") = ndr("本期支付") - ndr("本期还款")
      If dr("固定还款日") = False Then
        ndr("到期还款日") = cdate(ndr("起始记账日")).AddDays(dr("还款日"))
    Else
        If val(dr("还款日")) < val(dr("账单日")) Then
            ndr("到期还款日") = d.AddDays(dr("还款日")-1).AddMonths(1)
        Else
            ndr("到期还款日") = d.AddDays(dr("还款日")-1)
        End If
    End If
    If ndr("本期应还") > 0 Then
        If ndr("到期还款日") > Date.Today Then
            ndr("账单状态") = "已出账,没还款"
        Else
            ndr("账单状态") = "已出账,逾期还款"
        End If
    End If
    ndr("账单月") = Format(d, "yyyyMM")
Next
For Each d In ds
    For Each dr As DataRow In dt_xyk.DataRows
        Dim ndr As DataRow = dt_dyyh.AddNew
        ndr("账户名称") = dr("账户名称")
        ndr("卡号") = dr("卡号")
       ndr("账单日")=dr("账单日")
        ndr("起始记账日") = d.AddDays(dr("账单日"))
        ndr("本期支付") = dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 日期 >= #" & ndr("起始记账日").addmonths(-1) & "# and 日期 <= #" & ndr("起始记账日")& "# and 类别 = '转出'")
        ndr("本期还款") = dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 日期 >= #" & ndr("账单日").addmonths(-1) & "# and 日期 >= #" & ndr("起始记账日")& "# and 类别 = '转入'")
        Dim yq_out = dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 日期 < #" & ndr("账单日").addmonths(-1) & "# and 类别 = '转出'")
        Dim yq_in = dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 日期 < #" & ndr("账单日").addmonths(-1) & "# and 类别 = '转入'")
        ndr("信用额度") = dr("信用额度")
        ndr("本期应还") =  ndr("本期支付") - ndr("本期还款")
              If dr("固定还款日") = False Then
            ndr("到期还款日") = cdate(ndr("起始记账日")).AddDays(dr("还款日"))
        Else
            If val(dr("还款日")) < val(dr("账单日")) Then
                ndr("到期还款日") = d.AddDays(dr("还款日")-1).AddMonths(1)
            Else
                ndr("到期还款日") = d.AddDays(dr("还款日")-1)
            End If
        End If
        If ndr("本期应还") > 0 Then
            If ndr("起始记账日")> Date.Today Then
                ndr("账单状态") = "未出账,没还款"
            Else
                ndr("账单状态") = "已出账,没还款"
            End If
        Else
            If ndr("起始记账日")> Date.Today Then
                ndr("账单状态") = "未出账,没还款"
            Else
                ndr("账单状态") = "已出账,已还款"
            End If
        End If
        ndr("账单月") = Format(d, "yyyyMM")
    Next
Next

 

 

代码哪错了?运行后出错:

 


图片点击可在新窗口打开查看此主题相关图片如下:456.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/1/29 13:23:00 [显示全部帖子]

还是出错

图片点击可在新窗口打开查看此主题相关图片如下:457.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/1/29 20:14:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:459.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:信用卡还款 - 副本 (2) - 副本.rar





图片点击可在新窗口打开查看此主题相关图片如下:458.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/1/29 20:41:00 [显示全部帖子]

账单日怎么设置成不要时间呢?

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/1/29 21:02:00 [显示全部帖子]

ndr("账单日")的月份加一个月
ndr("结束记账日") = d.AddMonths(ndr("账单日")+1)

这样写对吗?

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/1/29 22:15:00 [显示全部帖子]

怎样根据计算机当前日期和“账单日”计算出已出账的天数呢?

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/1/29 22:43:00 [显示全部帖子]

我在DataColChanging事件中写了如下代码,对吗?怎么不计算呢?
Dim ts As Date = Date.Today
Select Case e.DataCol.Name
    Case "账单日"
        If e.DataRow.IsNull("账单日") Then
            e.DataRow("已出账单天数") = Nothing
        Else
        Dim t As TimeSpan = ts -cdate( e.DataRow("账单日"))
            e.DataRow("已出账单天数") = t
        End If
End Select

 回到顶部