根据现在日期检查到期时间

Checking due time against now date

我有一个包含患者相关信息的数据库,必须每 12 小时更新一次。有两个班次执行更新(白天和晚上),每个班次必须为每个病人每个班次执行一次任务。我的 objective 是为了让任何在轮班期间查看数据库的用户都能够知道该任务是否已对该患者执行过。

由于每个病人每个班次都应该执行一次任务,因此白班用户(早上 6:30 - 6:30pm)需要能够查看子表单并查看指示是否任务已经完成,所以他们知道要去做。在 6:30pm 时,指示器应该被重置,指示夜班任务尚未在他们的班次完成,当然,一旦任务完成,指示器就会被解决。

** For example: The current date/time is 7/12/2017 14:00 

Patient                Last timestamp           Due
Patient A             7/12/2017 03:40          True
Patient B             7/12/2017 10:40          False
Patient c             7/12/2017 11:40          False

Then, when the next shift arrives at 6:30PM, those same patients will reset

Patient                Last timestamp           Due
Patient A             7/12/2017 03:40          True
Patient B             7/12/2017 10:40          True
Patient c             7/12/2017 11:40          True

** During the night, as they perform the task

Patient                Last timestamp           Due
Patient A             7/12/2017 21:20          False
Patient B             7/12/2017 23:40          False
Patient c             7/13/2017 03:58          False

我认为提供每个患者的最新时间戳的查询将帮助我确定该问题的部分答案。

SELECT [Pt-VAP_1].IntubationIDNumber, Max([Pt-VAP_1].VapDateTimeStamp) AS 
MaxOfVapDateTimeStamp, Last([Pt-VAP_1].VapIDNumber) AS LastOfVapIDNumber
FROM [Pt-VAP] INNER JOIN [Pt-VAP] AS [Pt-VAP_1] ON [Pt-VAP].VapIDNumber = 
[Pt-VAP_1].VapIDNumber
GROUP BY [Pt-VAP_1].IntubationIDNumber;

我遇到的问题是找到一种方法在晚上 7 点到早上 7 点之间正确给出这个答案并更改日期。有没有办法做到这一点?

希望我对问题的编辑提供了更多帮助我解决问题所需的信息。同样,如果需要,我将非常乐意更新此 post。我还使用以下 Dlookup 公式来获取值,以提供一些我认为需要的信息。

如有任何帮助,我们将不胜感激。

vapCK = DLookup("[VapCharted]", "[03-LastVapCharting]", "[IntubationIDNumber]=" & [IntIDNo])
vapDTStamp = DLookup("[MaxOfVapDateTimeStamp]", "[03-MaxDateVap]", "[IntubationIDNumber]=" & [IntIDNo])
vapLastRCP = DLookup("[Last RCP]", "[03-LastVapCharting]", "[IntubationIDNumber]=" & [IntIDNo])

如果我对你的问题的理解正确,你可以试试这样的方法。

获取上次更新的日期时间,通过将上次更新时间加上 12 小时来计算下一次更新到期时间,并将其与 Now() 进行比较。

Public Function IsUpdateRequired() As Boolean

    Dim lastUpdatedOn As Date
        lastUpdatedOn = #7/11/2017 6:30:00 AM#  'DLookup("DateLastUpdated", "TableName")

    Dim nextUpdateOn As Date
        nextUpdateOn = DateAdd("h", 12, lastUpdatedOn)

    IsUpdateRequired = (nextUpdateOn <= Now())
End Function

紧凑形式:

Public Function IsUpdateRequired() As Boolean
    IsUpdateRequired = (DateAdd("h", 12, DLookup("DateLastUpdated", "TableName")) <= Now())
End Function