Foxtable(狐表)用户栏目专家坐堂 → 关于设置信用卡还款日


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

主题:关于设置信用卡还款日

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/2/12 9:02:00 [只看该作者]

第一个能用,第二个保存代码时出现未知错误

其实我想实现账单日距离目前日期<5时,另外生成一条记录,来提示如果现在用该长卡时,免息期最短的提示,等到免息期数多的时候在用卡的作用,不是提醒客户距离还款日还有多少天的,现在已经实现了生成记录了,不过还有点问题,(1)不应判断免息期字段,应该判断账单日吧?老师您看看修改一下哪里?

 (2)怎样将免息天数为负数的记录置顶呢?

Dim dt_xyk As DataTable = DataTables("信用卡")
Dim dt_lsz As DataTable = DataTables("流水账")
Dim dt_yk As DataTable = DataTables("用卡")
dt_yk .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 begin As Date
    Dim enddate As Date
    If dr("账单日")+1 <= Date.today.day Then
        begin = d.AddDays(dr("账单日")).AddMonths(1)
        enddate = d.AddDays(dr("账单日")-1).AddMonths(2)
    Else
        begin = d.AddDays(dr("账单日")).AddMonths(0)
        enddate = d.AddDays(dr("账单日")-1).AddMonths(1)
    End If
    Dim dq As Date
    If dr("固定还款日") = False Then
        dq = enddate.AddDays(dr("还款日"))
    Else
        dq = d.AddDays(dr("还款日")-1).AddMonths(2)
    End If
    Dim ndr As DataRow = dt_yk .AddNew
    ndr("卡号") = dr("卡号")
    ndr("账户名称") = dr("账户名称")
    ndr("信用额度") = dr("信用额度")
    ndr("账单日") =dr("账单日")
    ndr("还款日") =dr("还款日")
    ndr("可用额度") = ndr("信用额度") -(dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 类别 = '转出'"))-(dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 类别 = '转入'"))
    ndr("起始记账日") = begin
    ndr("结束记账日") = enddate
    ndr("到期还款日") =dq
    ndr("固定还款日") = dr("固定还款日")
    ndr("剩余免息天数") =(dq - Date.today).TotalDays
 If ndr("剩余免息天数") < = 5 Then
 ndr  = dt_yk .AddNew
    ndr("卡号") = dr("卡号")
    ndr("账户名称") = dr("账户名称")
    ndr("信用额度") = dr("信用额度")
    ndr("账单日") =dr("账单日")
    ndr("还款日") =dr("还款日")
    ndr("可用额度") = ndr("信用额度") -(dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 类别 = '转出'"))-(dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 类别 = '转入'"))
    ndr("起始记账日") = begin
    ndr("结束记账日") = enddate
    ndr("到期还款日") =dq
    ndr("固定还款日") = dr("固定还款日")
ndr("剩余免息天数") = -1*(dq - Date.today).TotalDays
End If
Next

[此贴子已经被作者于2018/2/12 9:39:55编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 9:45:00 [只看该作者]

回复40楼,你中信银行还款日是3月3日啊。你要对比的是记账日还是还款日?

 

如果是记账日,就改成 (enddate - Date.today).TotalDays

 

回复41楼,ndr("免息天数") = iif((dq - Date.today).TotalDays>5, (dq - Date.today).TotalDays, -1 * (dq - Date.today).TotalDays)


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


加好友 发短信
等级:幼狐 帖子:67 积分:690 威望:0 精华:0 注册:2016/7/13 15:14:00
  发帖心情 Post By:2018/2/12 10:59:00 [只看该作者]

你还要注意固定还款日是29、30的问题。
因为2月只有到28号。

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/2/12 12:37:00 [只看该作者]

我想实现账单日距离目前日期<5时,另外生成一条记录,来提示如果现在用该卡时,免息期最短的提示,等到免息期数多的时候在用卡的作用,不是提醒客户距离还款日还有多少天的,现在已经实现了生成记录了,不过还有点问题,(1)不应判断免息期字段,应该判断账单日吧?老师您看看修改一下哪里?

 (2)怎样将免息天数为负数的记录置顶呢?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 12:43:00 [只看该作者]

1、认认真真看懂42楼;

 

2、对表格进行排序 http://www.foxtable.com/webhelp/scr/0451.htm

 


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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/2/12 16:14:00 [只看该作者]

甜老师:(1)不能用排序法,如果用就把原来的数据都排乱了,只是将将免息天数为负数的记录置顶就可以了,用什么方法呢?

 

(2) 我将代码改为:ndr("剩余免息天数") =-1*(dq - Date.today).TotalDays 运行后中信银行的免息天数提醒是出来了,但怎么设-19呢?俺今天的日期应该是-2,甜老师看看哪错了?

 

(3)新增的 免息天数最短的几行数据怎么变为下期账单的日期呢?(包括“其实记账日”、“结束记账日”、“到期还款日”)


图片点击可在新窗口打开查看此主题相关图片如下:4569.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/2/12 16:40:10编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 16:53:00 [只看该作者]

1、那就循环每一行,移动行 http://www.foxtable.com/webhelp/scr/1846.htm

 

2、ndr("免息天数") = iif((enddate - Date.today).TotalDays>5, (enddate - Date.today).TotalDays, -1 * (enddate - Date.today).TotalDays)

 

3、没看懂你要做什么。


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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/2/12 17:53:00 [只看该作者]

 

 

 

(3)就是把免息天数为负数的数据行变为下期账单,应为这一期已经有账单了(包括“其实记账日”、“结束记账日”、“到期还款日”)

 

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20180212181232.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/2/12 18:13:45编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 18:18:00 [只看该作者]

比如 ndr("结束记账日") = enddate.AddMonths(1)

 

上传实例,贴出所写代码。

[此贴子已经被作者于2018/2/12 18:20:33编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/2/12 19:12:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:信用卡程序.foxdb


窗体按钮代码如下:
Dim dt_xyk As DataTable = DataTables("信用卡")
Dim dt_lsz As DataTable = DataTables("流水账")
Dim dt_yk As DataTable = DataTables("用卡")
dt_yk .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 begin As Date
    Dim enddate As Date
    If dr("账单日")+1 <= Date.today.day Then
        begin = d.AddDays(dr("账单日")).AddMonths(1)
        enddate = d.AddDays(dr("账单日")-1).AddMonths(2)
    Else
        begin = d.AddDays(dr("账单日")).AddMonths(0)
        enddate = d.AddDays(dr("账单日")-1).AddMonths(1)
    End If
    Dim dq As Date
    If dr("固定还款日") = False Then
        dq = enddate.AddDays(dr("还款日"))
    Else
        dq = d.AddDays(dr("还款日")-1).AddMonths(2)
    End If
    Dim ndr As DataRow = dt_yk .AddNew
    ndr("卡号") = dr("卡号")
    ndr("账户名称") = dr("账户名称")
    ndr("信用额度") = dr("信用额度")
    ndr("账单日") =dr("账单日")
    ndr("还款日") =dr("还款日")
    ndr("可用额度") = ndr("信用额度") -(dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 类别 = '转出'"))-(dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 类别 = '转入'"))
    ndr("起始记账日") = begin
    ndr("结束记账日") = enddate
    ndr("到期还款日") =dq
    ndr("固定还款日") = dr("固定还款日")
    ndr("剩余免息天数") =(enddate - Date.today).TotalDays
    'ndr("剩余免息天数") =(dq - Date.today).TotalDays
 If ndr("剩余免息天数") < = 5 Then
 ndr  = dt_yk .AddNew
    ndr("卡号") = dr("卡号")
    ndr("账户名称") = dr("账户名称")
    ndr("信用额度") = dr("信用额度")
    ndr("账单日") =dr("账单日")
    ndr("还款日") =dr("还款日")
    ndr("可用额度") = ndr("信用额度") -(dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 类别 = '转出'"))-(dt_lsz.Compute("sum(金额)", "账户名称 = '" & ndr("账户名称") & "' and 类别 = '转入'"))
    ndr("起始记账日") = begin
    ndr("结束记账日") = enddate
    ndr("到期还款日") =dq
    ndr("固定还款日") = dr("固定还款日")
    ndr("剩余免息天数") =-1*(enddate - Date.today).TotalDays-1
   'ndr("剩余免息天数") = -1*(dq - Date.today).TotalDays 
    Tables("用卡").Sort = "剩余免息天数"
End If
Next
(1)用了排序法把原来的数据都打乱了
(2)新增免息期最短的数据各日期(即 "起始记账日"、"结束记账日") 、"到期还款日")和下面的一样,不是下一期的日期 还有就是生成行的账单时如果是账单后多少天时一定要考虑各月份总天数(即大小月和每年的二月份),固定还款日就无所谓了


[此贴子已经被作者于2018/2/12 19:59:04编辑过]

 回到顶部
总数 53 上一页 1 2 3 4 5 6 下一页