在 Access 查询中查找两个字段的最大日期

Finding MAX Date of Two Fields in an Access Query

在我的访问数据库中,我们跟踪两组日期。一组是会费支付日期,另一组是其他捐款(非会员捐款)的日期。每个人有多个日期,具体取决于每种类型的付款次数。

Example:  
+----+---------------+---------------+
| ID | Dues_Date     | Cont_Date     | 
+----+---------------+---------------+
| 1  | 01/01/15      | 09/12/11      | 
|    | 01/01/14      |               | 
|    | 01/01/13      |               |  
| 2  | 07/30/14      | 06/20/13      |  
|    |               | 11/12/11      |  
+----+---------------+---------------+

首先,我需要知道这两个字段中每一个的最近付款,所以我 运行 查询告诉我每个字段的最大(最近)日期。

Example Query:  
+----+---------------+---------------+
| ID | Max Dues_Date | Max Cont_Date |
+----+---------------+---------------+
| 1  | 01/01/15      | 09/12/11      |
| 2  | 07/30/14      | 06/20/13      |
| 3  | 02/11/13      | 09/16/14      |
| 4  | 07/30/12      | 06/20/11      |
| 5  | 12/13/13      | 11/12/14      |
+----+---------------+---------------+

现在我需要同一查询中的第三个字段来比较前两个字段的结果,并显示哪个是这两个字段的最大值。 我在查询中有第 2 列和第 3 列;我怎样才能在同一个查询中创建第 4 列?

Example Query:  
+----+---------------+---------------+-----------------+
| ID | Max Dues_Date | Max Cont_Date | Max Date(DD&CD) |  
+----+---------------+---------------+-----------------+
| 1  | 01/01/15      | 09/12/11      | 01/01/15        |  
| 2  | 07/30/14      | 06/20/13      | 07/30/14        |
| 3  | 02/11/13      | 09/16/14      | 09/16/14        |  
| 4  | 07/30/12      | 06/20/11      | 07/30/12        |  
| 5  | 12/13/13      | 11/12/14      | 11/12/14        |  
+----+---------------+---------------+-----------------+

尝试根据您自己的情况进行调整:

SELECT tblTest.DueDate, tblTest.ContDate, [DueDate]-[ContDate] AS Test,  IIf([Test]<0,[ContDate],[DueDate]) AS MaxRes
FROM tblTest;

"Test" 查找较晚的日期,ContDate 或 Due Date。 IIf 语句选择较晚的日期。

这有帮助吗?