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