Foxtable(狐表)用户栏目专家坐堂 → 关于日期计算问题


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

主题:关于日期计算问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/16 11:34:00 [显示全部帖子]

必须知道月份,才行。不然27号后20天的日期就有若干种可能。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/16 12:00:00 [显示全部帖子]

以下是引用裴保民在2018/1/16 11:58:00的发言:
我是想每个月都得操作此功能

 

根据当前月份?

 

msgbox(date.today.month)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/16 12:14:00 [显示全部帖子]

以下是引用裴保民在2018/1/16 12:12:00的发言:
可是年份不一样每个月的最后一天也是不一样的 怎么处理呢?

 

请具体说明你要做什么。年份影响的只有2月。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/16 14:33:00 [显示全部帖子]

1、如果是信用卡,参考

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=65220&authorid=0&page=0&star=1

 

2、还款日都是固定某一天的,而不是20天后。提前提醒,一般是根据当天的日期进行判断,当天的日期,那就可以得到年份、月份了啊。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/17 8:54:00 [显示全部帖子]

1、请上传具体实例,说明你要做的效果。

 

2、请截图说明你要做什么。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/17 10:33:00 [显示全部帖子]

Dim dt_xyk As DataTable = DataTables("信用卡")
Dim dt_lsz As DataTable = DataTables("流水账")
Dim dt_dyyh As DataTable = DataTables("当月应还")
dt_dyyh.DataRows.Clear
For Each dr As DataRow In dt_xyk.DataRows
    Dim ndr As DataRow = dt_dyyh.AddNew
    ndr("账户名称") = dr("账户名称")
    Dim d As Date = new Date(Date.Today.year, Date.Today.Month, 1)
    ndr("账单日") = d.AddDays(dr("账单日")-1)
    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 类别 = '转入'")
    ndr("信用额度") = dr("信用额度")
    ndr("当月应还") = ndr("转出") - ndr("转入")
    ndr("可用额度") = ndr("信用额度") - ndr("转出") + ndr("转入")
    If val(dr("还款日")) < val(dr("账单日")) Then
        ndr("还款日") = d.AddDays(dr("还款日")-1).AddMonths(1)
    Else
        ndr("还款日") = d.AddDays(dr("还款日")-1)
    End If
Next
e.Form.Controls("Table1").Table.DataSource = DataTables("当月应还")

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/18 17:27:00 [显示全部帖子]

控制红色代码,即可控制要生成什么日期的账单

 

Dim dt_xyk As DataTable = DataTables("信用卡")
Dim dt_lsz As DataTable = DataTables("流水账")
Dim dt_dyyh As DataTable = DataTables("当月应还")
dt_dyyh.DataRows.Clear
For Each dr As DataRow In dt_xyk.DataRows
    Dim ndr As DataRow = dt_dyyh.AddNew
    ndr("账户名称") = dr("账户名称")
    Dim d As Date = new Date(2018, 1, 1)
    ndr("账单日") = d.AddDays(dr("账单日")-1)
    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 类别 = '转入'")
    ndr("信用额度") = dr("信用额度")
    ndr("当月应还") = ndr("转出") - ndr("转入")
    ndr("可用额度") = ndr("信用额度") - ndr("转出") + ndr("转入")
    If val(dr("还款日")) < val(dr("账单日")) Then
        ndr("还款日") = d.AddDays(dr("还款日")-1).AddMonths(1)
    Else
        ndr("还款日") = d.AddDays(dr("还款日")-1)
    End If
Next
e.Form.Controls("Table1").Table.DataSource = DataTables("当月应还")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/18 19:42:00 [显示全部帖子]

以下是引用裴保民在2018/1/18 18:20:00的发言:
如果银行卡是空账就没必要显示在应还表中了,怎么设置成不显示空账单银行卡呢?

 

最后对表格进行筛选

 

e.Form.Controls("Table1").Table.Filter = "当月应还 > 0"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/19 16:53:00 [显示全部帖子]

没看懂你什么意思。根据什么逻辑显示账单状态?

 

如果当月应还大于0,就是需要还款的啊。上期、本期、下期账单,控制日期生成啊,看15楼代码。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/19 17:30: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)}
For Each d In ds
    For Each dr As DataRow In dt_xyk.DataRows
        Dim ndr As DataRow = dt_dyyh.AddNew
        ndr("账户名称") = dr("账户名称")
        ndr("账单日") = d.AddDays(dr("账单日")-1)
        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 类别 = '转入'")
        ndr("信用额度") = dr("信用额度")
        ndr("当月应还") = ndr("转出") - ndr("转入")
        ndr("可用额度") = ndr("信用额度") - ndr("转出") + ndr("转入")
        If val(dr("还款日")) < val(dr("账单日")) Then
            ndr("还款日") = d.AddDays(dr("还款日")-1).AddMonths(1)
        Else
            ndr("还款日") = d.AddDays(dr("还款日")-1)
        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

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