因此,我有一個跟蹤資產位置更改的數據庫。每次填寫表單時,它都會自動爲每個位置更改生成一個日期和時間戳。在Access中創建查詢以顯示序列號的最後一個條目
列看起來像這樣。
[Serial Number][New Location][Date][Time]
例子是」
[DE1234567][Warehouse][5/7/2014][10:02PM]
我想現在要做的就是創建一個查詢,會告訴我的一切,目前在這些位置上的資產。
[Location1][serial1][Date/Time]
[Location1][serial2][Date/Time]
[Location1][serial5][Date/Time]
[Location1][serial7][Date/Time]
[Location2][serial4][Date/Time]
[Location2][serial6][Date/Time]
[Location2][serial8][Date/Time]
[Location2][serial9][Date/Time]
或者沿着這些線的東西
我需要做的是得到查詢查找每個最後的日期條目序列號,只顯示該條目並忽略任何舊的。我無法刪除舊的,因爲我需要每個資產的歷史記錄。
P.s.我不使用任何舊資產跟蹤軟件的原因是,因爲這將在未來也將用於跟蹤這些資產的修復,回答這個問題也將幫助我稍後再做。
由於
~~~~~~增補上午12時35分5/8/2014年~~~~~~
由 「GeoB」 試圖從回答此代碼。仍然顯示剛排序的相同數據。
SELECT [Cassette Status History].[New Location], [Cassette Status History].[Serial Number], Max([Cassette Status History].[Date/Time]) AS [Last Date/Time]
FROM [Cassette Status History]
GROUP BY [Cassette Status History].[New Location], [Cassette Status History].[Serial Number];
這顯示了所有條目,只是排序和分組。我想要這個查詢來隱藏來自同一個序列號但是最新日期的所有條目。
~~~~添加下午9點29 5/8/2014年~~~~
我嘗試這個代碼,每回答 「Heinzi」
SELECT [Cassette Status History].[New Location], [Cassette Status History].[Serial Number], [Cassette Status History].[Date/Time]
FROM [Cassette Status History]
WHERE [Cassette Status History].[Date/Time] = (SELECT MAX([Cassette Status History].[Date/Time])
FROM [Cassette Status History]
WHERE [Cassette Status History].[Serial Number] = [Cassette Status History].[Serial Number])
這就是現在只顯示最後輸入到該表中。
再次感謝大家的幫助!
看到這個我有點了解更好,但不幸的是它沒有奏效。我將相同的序列號放入我的數據庫中2次,一次在「準備好現場」位置和20分鐘。稍後在「現場」位置設置後,按照您解釋的方式顯示兩個條目。 – Ajster1989
也許您可以在[sqlfiddle](http://sqlfiddle.com/) – geoB
上發佈示例數據如果您重命名日期和時間字段,那麼會發生什麼情況,因爲這些字段名稱是保留字? – geoB