在 MS Access 2010 中查询:“过去 24 小时内入院的患者日期”,这个标准是什么?

在 MS Access 2010 中查询:“过去 24 小时内入院的患者日期”,这个标准是什么?

您好,我在 MS Access 的设计视图中,正在创建一个查询,该查询会选择过去 24 小时内入院的患者列表。我不确定如何对我的 DATE_ADMITTED 列、条件字段执行此操作。有什么帮助吗?

答案1

如果 DATE_ADMITTED 字段是真实的日期/时间字段,那么您可以将 DATE_ADMITTED 字段的条件设置为:

>=Now()-1

这会将查询结果过滤到过去 24 小时内,精确到运行查询的那一秒。

要返回昨天和今天的查询,请使用:

>=Date()-1

这应该涵盖从昨天 12:00:00 AM(午夜)到今天 11:59:59 PM(午夜)。

当然,上述标准不会检查未来的日期/时间。如果您偶然需要确保查询结果中不包含未来的日期/时间,则以下两个查询将过滤掉这些日期/时间。

>=Now()-1 And <Now()

>=Date()-1 And <Date()+1

标准示例网站:
http://office.microsoft.com/en-us/access-help/examples-of-query-criteria-HA010066611.aspx

视频系列(在 Google 视频上):
http://video.google.com/videoplay?docid=-6002948507483364070&hl=en#

当您说上周五时,我认为是前一个周五(而不是该月的最后一个周五或其他日期)。

这是一个查询,它将返回上一个星期五的结果,如果在星期五执行,仍将返回上一个星期五的结果,而不是当前星期五的结果。
(Weekday([DATE_ADMITTED])=6) And (DateDiff("d",[DATE_ADMITTED],Now())<=7) And (DateDiff("d",[DATE_ADMITTED],Now())>0)

如果您所说的“从上周五”是指从前一个周五到现在,那么根据您想要包含的日期,有以下一些条件:

从当前或上一个星期五到现在(如果在星期五运行则仅返回当前星期五的结果)
Between Date() And Date()-(IIf((Weekday(Date())>=6),(Weekday(Date())-6),(Weekday(Date())+1)))

从上一个星期五到现在(如果在星期五运行,结果中将包括当前星期五)(如果今天是星期五,则包括当前星期五。)
Between Date() And Date()-(IIf((Weekday(Date())>6),(Weekday(Date())-6),(Weekday(Date())+1)))

从上周五到现在(除非在周五运行,则从上周五到周四)。(如果今天是周五,则不包括当前周五。)
Between Date()-(IIf((Weekday(Date())=6),1,0)) And Date()-(IIf((Weekday(Date())>6),(Weekday(Date())-6),(Weekday(Date())+1)))

NOT 用法 - 这里有一个网站,展示了一些 NOT 的例子。
http://www.fontstuff.com/access/acctut06.htm

希望这可以帮助。

相关内容