我在DB上工作,我需要搜索MAX(ID),其中ID是自动编号,(基本上是最近的记录/最后一条记录),然后在找到时我想获得收据编号。 e.g。
收据表
ID DATE Number
2 ### 1423
3 ### 1452
4 ### 1401
我目前正在检索Max(数字),但由于计划要求,最近并不总是最高。所以我想检索最高的ID值,然后获取Number的值来增加。我尝试了嵌套查询但没有结果。虽然我熟悉VBA,但我对复杂的查询和优化并不是很好。
答案 0 :(得分:3)
您可以使用DMax
从表中获取最大ID
值。例如,在立即窗口中......
? DMax("ID", "YourTable")
您可以在查询中使用该表达式来请求具有最高ID
值的行。
SELECT y.ID, y.DATE, y.Number
FROM YourTable AS y
WHERE y.ID=DMax('ID', 'YourTable');
但DMax
是特定于访问权限的。如果您想要一种可移植到其他数据库的方法,您可以使用子查询来检索最高ID
值。
SELECT y.ID, y.DATE, y.Number
FROM YourTable AS y
WHERE y.ID=(SELECT Max(ID) FROM YourTable);