我有一年中每天的每小时数据(24 小时)。没有数据时会丢失一些小时。当缺少数据时,我需要插入一个值为零的行,以确保每个日期都有 24 小时的数据。我正在使用 Access 并使用 SQL 处理 VBAcode。任何人都可以帮助我吗?
问问题
150 次
1 回答
0
像这样的事情会花费你的时间,并且每次检查它是否存在
Dim rs As Recordset
Dim datetime As Date
Dim stopdatetime As Date
Set rs = CurrentDb.OpenRecordset("MyData", dbOpenDynaset)
datetime = DateSerial(2011, 1, 1) + TimeSerial(9, 0, 0)
' #1/1/2011 @ 9AM
stopdatetime = DateSerial(2012, 1, 1)
' #1/1/2012 @ Midnight
While datetime < stopdatetime
rs.FindFirst "MyDateTimeField=" & datetime ' formatting may be required
If rs.NoMatch Then
'nomatch is true when time is not found, so add the missing record
rs.AddNew
rs!MyDateTimeField = datetime
rs!Otherfileds = 0
rs.Update
End If
datetime = datetime + TimeSerial(1, 0, 0)
'add an hour
Wend
于 2012-09-06T19:40:54.087 回答