如何在 Access 中将表的查询作为新列颠倒?

时间:2021-01-25 13:14:01

标签: sql ms-access

作为我之前的 question 的后续,我想更进一步,并根据我的 Diff 进行其他计算。

示例表:

+-------+-------+--------+-------------------+------+------+------+   
|   ID  | RowID | User   | Godzina_transakcji| Diff | Diff2| Diff3|   
+-------+-------+--------+-------------------+------+------+------+   
|    3  |    1  |   AAA  | 14:23:03          |      |      |      |   
|    8  |    2  |   AAA  | 14:23:57          |      |      |      |   
|    11 |    3  |   AAA  | 14:25:03          |      |      |      |   
|    2  |    4  |   BBB  | 03:37:23          |      |      |      |   
|  893  |    5  |   BBB  | 03:39:21          |      |      |      |   
|    5  |    6  |   BBB  | 05:23:11          |      |      |      |   
+-------+-------+---------+------------------+------+------+------+ 

工作代码:

    SELECT 
        tblTemp2.RowID,
        tblTemp2.User,
        tblTemp2.Godzina_transakcji,
        Format((    Select TimeValue(T.Godzina_transakcji) 
                    From tblTemp2 As T
        Where tblTemp2.RowID = T.RowID + 1  And tblTemp2.User = T.User ) - TimeValue([Godzina_transakcji]), "hh:nn:ss") As Diff
    FROM
       tblTemp2;

所以我认为最好的方法是将我的 tblTemp 附加到 Diff,这就是它开始吸引粉丝的地方。
当我尝试将查询更改为“制作表”时,我的 Access 会冻结长达 10 分钟。当我尝试使用更新查询时,我收到有关“操作必须使用可更新查询”的错误消息。
所以我的问题是:记住下一个字段将是基于计算的 Diff 的简单 ifs 的最佳方法是什么?

例如关于 Diff2 的想法是检查 Diff 中的小时值是否大于 4。

编辑:希望,现在它更精确并且符合规则:)

0 个答案:

没有答案