在2个日期之间创建日期表

时间:2017-04-09 21:06:28

标签: access-vba

我是编程新手,并试图在我的团队中添加一些自动化来帮助进行日常操作。

我尝试根据给定的开始日期,结束日期和间隔创建一个创建利息支付计划的功能。例如,对于开始日期为2017年1月14日,到期日2018/01/14的一年保证金,付款频率为每3个月一次。它有4个兴趣期:2017/01/14 - 2017/04/14,2017 / 04/14 - 2014/07 / 14,2017 / 07/14 - 2017/10 / 14,2017 / 10/14 - 2018 / 01/14。我想创建一个日期表来显示Access中的这4个句点。

记录应如下所示:

seq startdate enddate

1       2017/01/14  2017/04/14
2       2017/04/14  2017/07/14
3       2017/07/14  2017/10/14
4       2017/10/14  2018/01/14

有人可以帮我吗? 非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用 MSysObjects 表和笛卡尔查询来创建:

PARAMETERS 
    Period Text ( 255 ), 
    Periods Short, 
    FirstDate DateTime;
SELECT DISTINCT 
    10*Abs([Deca].[id] Mod 10)+Abs([Uno].[id] Mod 10)+1 As Sequence,
    DateAdd([Period],[Sequence]-1,[FirstDate]) AS [DateStart],
    DateAdd([Period],[Sequence],[FirstDate]) AS [DateEnd]
FROM 
    MSysObjects AS Uno, 
    MSysObjects AS Deca
WHERE 
    10*Abs([Deca].[id] Mod 10)+Abs([Uno].[id] Mod 10)<[Periods]

使用以下参数运行:

Period: q
Periods: 4
FirstDate: 2017-04-14

Result