0

これは Excel で行う非常に単純な計算ですが、異なるレコードのテーブルの 2 つのフィールドを使用して Access 内でこれを行う方法に困惑しています。私が持っている 1 つのアプリケーションは、操作 STOPTime と次の STARTTime の違いを見つける必要があります。どんな助けでも大歓迎です。私はVBAが初めてです。

4

2 に答える 2

1
Sub samPle()
Dim startTime As Date
Dim endTime As Date

startTime = Time
'''Your Code


endTime = Time

Debug.Print DateDiff("n", startTime, endTime) ' difference in minutes

End Sub
于 2013-02-21T19:03:26.710 に答える
0

データに応じて問題にアプローチする方法は多数あるため、SQL に関する質問のデータを投稿することは非常に重要です。例えば:

テーブル:

ID  EventTime           EventType
1   17/02/2013 08:52:00 start
2   17/02/2013 09:52:00 stop
3   17/02/2013 11:52:00 start
4   17/02/2013 15:52:00 stop

SQL:

SELECT a.id,
       a.eventtime                    AS Start,
       a.eventtype,
       (SELECT TOP 1 eventtime
        FROM   times b
        WHERE  eventtype = "stop"
               AND eventtime > a.eventtime
        ORDER  BY eventtime,
                  id)                 AS Stop,
       Datediff("n", [start], [stop]) AS RunTime
FROM   times AS a
WHERE  (( ( a.eventtype ) = "start" ))
ORDER  BY a.eventtime;

結果:

ID  Start               EventType   Stop                RunTime
1   17/02/2013 08:52:00 start       17/02/2013 09:52:00     60
3   17/02/2013 11:52:00 start       17/02/2013 15:52:00     240

再コメント

SELECT a.id, 
       a.eventtime                         AS Start, 
       a.eventtype, 
       (SELECT TOP 1 eventtime 
        FROM   times b 
        WHERE  eventtype = "stop" 
               AND eventtime > a.eventtime 
        ORDER  BY eventtime, 
                  id)                      AS Stop, 
       Datediff("n", [start], [stop])      AS RunTime, 
       (SELECT TOP 1 eventtime 
        FROM   times b 
        WHERE  eventtype = "start" 
               AND eventtime > a.eventtime 
        ORDER  BY eventtime, 
                  id)                      AS NextStart, 
       Datediff("n", [start], [nextstart]) AS StartDiff, 
       Datediff("n", [stop], [nextstart])  AS DownTime 
FROM   times AS a 
WHERE  (( ( a.eventtype ) = "start" )) 
ORDER  BY a.eventtime; 
于 2013-02-21T21:00:05.073 に答える