【发布时间】:2017-07-13 15:47:30
【问题描述】:
我有一个包含患者相关信息的数据库,必须每 12 小时更新一次。有两个班次执行更新(白天和晚上),每个班次必须为每位患者每班执行一次任务。我的目标是让任何在轮班期间查看数据库的用户都能够知道该任务是否已在该患者身上执行。
由于应为每位患者在每个班次执行一次任务,因此白班(上午 6:30 - 下午 6:30)的用户需要能够查看子表单并查看任务是否已完成的指示所以他们知道这样做。下午 6 点 30 分,指示灯应重置,向夜班指示该班的任务尚未完成,当然,一旦任务完成,该指示灯将被解决。
** 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 点之间正确给出这个答案的方法,日期会发生变化。有没有办法做到这一点?
希望我对问题的编辑能够提供更多信息来帮助我找到解决方案。同样,如果需要,我将非常乐意更新这篇文章。我还使用以下 Dlookup 公式来获取值以提供我认为需要的一些信息。
任何帮助将不胜感激。
vapCK = DLookup("[VapCharted]", "[03-LastVapCharting]", "[IntubationIDNumber]=" & [IntIDNo])
vapDTStamp = DLookup("[MaxOfVapDateTimeStamp]", "[03-MaxDateVap]", "[IntubationIDNumber]=" & [IntIDNo])
vapLastRCP = DLookup("[Last RCP]", "[03-LastVapCharting]", "[IntubationIDNumber]=" & [IntIDNo])
【问题讨论】:
-
最简单的方法是查找用户需要的记录(可能只是最后一两条记录),然后让他们查看并确定是否已完成。可能的?您可以按时间戳按 desc 顺序(最新的优先)对相关表进行排序并返回前 1 或 2。
-
我已经阅读了您的问题 3 次,但仍然不知道您到底想要什么。请澄清你的问题。如果记录已被编辑,您想向用户显示。为什么这只是晚上 7 点到早上 7 点之间的问题?用户如何编辑记录(表单/表格/其他?)?每 12 小时更新一次是否会重置某些内容?该更新意味着什么?如果您知道自己没有提供足够的信息,请在最初询问时提供更多信息。
-
任务对生存至关重要(如果您的程序失败且任务未完成,人们会死或受伤)吗?然后将其留给专业人士(购买解决方案)!否则留下更好的信息how to ask。
标签: ms-access vba ms-access-2016