SQL查询按ID搜索并获取记录的另一个属性

时间:2014-03-25 01:29:52

标签: sql vba ms-access access-vba

我在DB上工作,我需要搜索MAX(ID),其中ID是自动编号,(基本上是最近的记录/最后一条记录),然后在找到时我想获得收据编号。 e.g。

收据表

ID         DATE        Number
2          ###          1423
3          ###          1452
4          ###          1401

我目前正在检索Max(数字),但由于计划要求,最近并不总是最高。所以我想检索最高的ID值,然后获取Number的值来增加。我尝试了嵌套查询但没有结果。虽然我熟悉VBA,但我对复杂的查询和优化并不是很好。

1 个答案:

答案 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);