0

我目前有两个相关的表:

Property
    ID
    Name

Checks
    ID
    Property
    Type
    ExpiresOn

表中的属性字段Checks是指表中的一个ID Property

现在有不同类型的检查,对于这个例子,我会坚持:Gas and Electric。所以一个典型的Checks表格看起来像这样:

ID    Property    Type        ExpiresOn
----------------------------------------
1        1        Gas         20/07/13
2        1        Gas         21/07/13
3        1        Electric    22/07/13
4        2        Electric    23/07/13

现在我想做的是显示属性,列显示每种类型的最后一次检查。例如:

ID    Property.Name    GasExpiry      ElectricExpiry
--------------------------------------------------
1     Some Place       21/07/13 (2)   22/07/13  (3)
2     Another Place    null           23/07/13  (4)

ID在括号中包含了每个到期日期,以便更容易看到发生了什么。ID 为 1的Checks记录没有显示,因为它不是特定属性的最后一个该类型。

现在我正在使用 Dlookup 来做这件事,因为我没有找到合适的方法来使用连接。当然,随着Property记录的增多,Dlookup 将开始大幅减慢查询速度。

有没有更好的方法来解决这个问题?

4

2 回答 2

0

您正在寻找的是实际旋转表格,以便行成为列,列成为行。

因为,您已将此标记为 MS 访问数据库 - 您可以参考大量在线教程来完成此任务。

于 2013-07-16T17:59:57.370 回答
0

通常,我在发布此内容后立即找到了答案,但我会将其保留在此处,以防其他人遇到类似问题。

答案是进行交叉表查询。这与问题中的描述完全相同。您指定列类型以及要在每个字段中显示的内容。

于 2013-07-16T18:49:40.950 回答