访问VBA SQL:查找最大日期并检索行ID
我使用的是MS Access 2007和链接的MS-SQL数据库以及两个表 一个表是库存详细信息,另一个表是库存跟踪,跟踪每个库存在特定日期的状态(按ID) 我需要根据最大日期值检索每个访问VBA SQL:查找最大日期并检索行ID,sql,ms-access,vba,maxdate,Sql,Ms Access,Vba,Maxdate,我使用的是MS Access 2007和链接的MS-SQL数据库以及两个表 一个表是库存详细信息,另一个表是库存跟踪,跟踪每个库存在特定日期的状态(按ID) 我需要根据最大日期值检索每个InvenotryID的TrackID,以便获得每个库存项目的最新状态 Inventory table: ID, Details, etc. Track table: ID, Inventory (ID), TDate, Status, Branch. 轨迹表示例: ID | Inv. | TDate
InvenotryID
的TrackID
,以便获得每个库存项目的最新状态
Inventory table: ID, Details, etc.
Track table: ID, Inventory (ID), TDate, Status, Branch.
轨迹表示例:
ID | Inv. | TDate | Status
332| 4 | 02/03 | free
342| 6 | 02/12 | working
346| 4 | 02/09 | working
347| 7 | 02/11 | repairs
349| 5 | 02/05 | repairs
352| 6 | 02/13 | free
355| 5 | 01/28 | working
356| 7 | 02/14 | free
查询应获取:
TrackID | Inv. | TDate | Status
346 | 4 | 02/09 | working
355 | 6 | 02/13 | free
356 | 7 | 02/14 | free
349 | 5 | 02/05 | repairs
注意:TrackID
由于非线性状态注册,不一定是字段的最大值
由于缺乏SQL,我无法创建一个能够体现这一想法的查询。也许:
SELECT test.ID, test.Inv, test.TDate, test.Status
FROM test INNER JOIN
(SELECT test.Inv, Max(test.TDate) AS MaxOfTDate
FROM test
GROUP BY test.Inv) AS q
ON (test.TDate = q.MaxOfTDate) AND (test.Inv = q.Inv)
GROUP BY test.ID, test.Inv, test.TDate, test.Status;
其中test是您的表名。wow,Remou,thanx很多。复杂、短小,工作起来很有魅力:)