Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 在Access中创建自任意开始日期起的业务日期的动态列表_Date_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Date 在Access中创建自任意开始日期起的业务日期的动态列表

Date 在Access中创建自任意开始日期起的业务日期的动态列表,date,ms-access,vba,ms-access-2010,Date,Ms Access,Vba,Ms Access 2010,使用MS Access 2010,我需要生成从任意开始日期(如2015年1月1日)到现在日期()的完整日期列表。我希望这个列表位于它自己的表中,尽管查询也可以工作。我也更喜欢只抓取工作日/周。有人能帮忙吗 我正在按日期跟踪业务流程错误。为每个错误创建一个新的错误记录,并且每个记录都标记有日期。但是,并非每个日期都有错误。因此,随着时间的推移进行报告并不能提供正确的可视化效果,因为没有错误的日期无法表示 我非常感谢在Access中帮助生成此列表,以及表示此信息的任何其他想法 干杯, 伯吉斯 更新-

使用MS Access 2010,我需要生成从任意开始日期(如2015年1月1日)到现在日期()的完整日期列表。我希望这个列表位于它自己的表中,尽管查询也可以工作。我也更喜欢只抓取工作日/周。有人能帮忙吗

我正在按日期跟踪业务流程错误。为每个错误创建一个新的错误记录,并且每个记录都标记有日期。但是,并非每个日期都有错误。因此,随着时间的推移进行报告并不能提供正确的可视化效果,因为没有错误的日期无法表示

我非常感谢在Access中帮助生成此列表,以及表示此信息的任何其他想法

干杯, 伯吉斯

更新-从开始日期起,我就能够列出日期。这是我的密码:

Sub createDatesTable()

    'Declare variables'
    Dim startDate As Date
    Dim endDate As Date
    Dim countDate As Date
    Dim length As Long
    Dim i As Long
    Dim dates() As Date

    'Initialize'
    startDate = #6/23/2015#
    endDate = #9/1/2015#
    countDate = startDate
    length = endDate - startDate

    'Define date array length'
    ReDim dates(1 To length)

    'Generate date list in array'
    For i = 1 To (length)
        dates(i) = countDate
        countDate = countDate + 1
    Next i

    'Print array to Immediate Window'
    For i = 1 To length
        Debug.Print dates(i)
    Next i


    Dim db As DAO.Database
    Dim rs As DAO.Recordset


    Set db = CurrentDb
    Set rs = db.OpenRecordset("tblDateList", dbOpenDynaset)

    'Add array data to existing table'
    For i = 1 To length
        rs.AddNew
        rs!DateList = dates(i)
        rs.Update
    Next i

    rs.Close
    db.Close

End Sub
现在,我对VBA非常陌生,所以这可能包含一些基本的错误。谢谢你的反馈


-Burgess

您的表可以具有如下结构:

列名称|数据类型
---------------+----------
dt |日期时间
isBusinessDay |是/否
至于填充物,是这样的:

公共子填充日期(开始日期为日期,结束日期为日期)
dim db作为DAO.database,rs作为DAO.Recordset
作为字符串的dim strSQL
日期
strSQL=“从tbl\U日期中删除”
docmd.runsql strSQL
set db=currentdb()
set rs=db.openRecordset(“待定日期”,dbOpenDynaset,dbAppendOnly)
对于d=开始日期到结束日期
用rs
.addNew
![dt]=d

![isBusinessDay]=(格式(d,“w”,vbMonday)请发布任何尝试的解决方案谢谢Barranka。这看起来比我想象的数组和编辑表要简单得多。我特别喜欢你使用isBusinessDay进行过滤的方法。我现在要将此添加到我的代码中。