【发布时间】:2014-07-01 10:31:34
【问题描述】:
我正在尝试确定如何使用 Access 2013 处理此查询的最佳方法。我有一个包含以下内容的客户表:
clientID fName lName admissionDate dischargeDate
1 John Doe 05/06/2014 06/27/2014
2 Jane Doe 04/24/2014 05/15/2014
3 Steven Smith 05/15/2014 NULL/Empty
4 Chris Davis 06/12/2014 NULL/Empty
然后有一个 WeeklyProgressNotes 表格,供负责审核客户图表的人员使用。它不包含实际的每周进度笔记,它只包含一个是/否字段和一个日期字段,表示每周进度笔记完成的日期。如下:
noteID completed dateCompleted clientID
1 yes 05/08/2014 1
2 yes 05/14/2014 1
3 yes 04/25/2014 2
我正在创建一个表单,审核员可以打开该表单以确定她需要在几周内检查每个客户,以查看他们在该周是否完成了每周进度记录。星期从星期一到星期日,如果她还没有检查和确认那一周,那么 WeeklyProgressNotes 表中将没有记录。所以表格基本上是这样的:
fName lName week completed date clientID(hidden)
John Doe 5/19/14-5/25/14 Checkbox Null 1
John Doe 5/26/14-6/1/14 Checkbox Null 1
John Doe 6/2/14-6/8/14 Checkbox Null 1
John Doe 6/9/14-6/15/14 Checkbox Null 1
John Doe 6/16/14-6/22/14 Checkbox Null 1
John Doe 6/23/14-6/29/14 Checkbox Null 1
Jane Doe 4/28/14-5/4/14 Checkbox Null 2
等等……
我考虑过创建一条 SQL 语句来选择所有客户,然后创建一个函数来确定他们在特定周内的入院日期和在特定周内的出院日期,然后使用另一个 SQL 语句创建一个循环所有周的 BETWEEN 子句,并确定 WeeklyProgressNotes 表中是否存在条目。如果没有,那么我将显示上述信息。我不确定是否有一种更简单、搜索强度更低的方法。也许一个 SQL 查询可以减少一些循环。
【问题讨论】: