【发布时间】:2017-04-10 23:27:18
【问题描述】:
我的主数据库表在行上有一个开始日期和一个结束日期,以表示某个试验何时开始或结束。
因此,如果试验在所查询的时间段之前开始和结束,则将被排除在外。如果试用在被查询的时间段之后开始和结束,也应该排除它。
但是,如果试验在该时间段内开始或结束,或者在该时间段结束之前开始并在该时间段结束之后结束,则应包括在内。
我一直在为这个问题摸不着头脑,我无法解决。
这是我现有的有效查询,但似乎包括在所查询的时间段之后开始和结束的试验。
SELECT Count(Trials.Active) AS CountOfActiveTrials
FROM Trials
WHERE (((((Trials.DateStudyOpened)>[Forms]![Startup]![txtReportStartDate] And (Trials.DateStudyOpened)<[Forms]![Startup]![txtReportEndDate]) Or (Trials.DateStudyOpened)<[Forms]![Startup]![txtReportStartDate]) And Not (Trials.DateStudyOpened)>[Forms]![Startup]![txtReportEndDate]) AND (((Trials.DateStudyClosed)>[Forms]![Startup]![txtReportStartDate] And ((Trials.DateStudyClosed)<[Forms]![Startup]![txtReportEndDate]) Or (Trials.DateStudyClosed)>[Forms]![Startup]![txtReportEndDate]) Or (Trials.DateStudyClosed) Is Null));
【问题讨论】: