2

我有一个为每笔交易使用唯一 ID 的数据库。交易 ID 是一年的最后两位数字,后跟一个四位序列号(例如 0100 到 9999)。该数字在每年年初重置回 0100。并非每年都使用所有数字。例如,2012 年的最后一笔交易是 12-0409,2011 年是 11-0500。这些数字当前不在数据库中生成,而是手动创建的。我正在让他们改用自动化,但与此同时我必须创建补丁来修复错误。

在数据库中,我有一个表和一个查询。查询 ([Offer Check]) 列出了事务 ID ([HL#]),并仅以两种格式显示最后四个,一种为数字格式 ([NumList]),另一种为文本格式 ([TextList])。该表是一个基本表,其中列出了 0100 和 9999 之间的所有数字。我正在尝试创建一个查询,以允许我识别缺少哪些事务 ID,即我有 13-0250 和 13-0252,但没有 13-0251。我可以创建一个查询来识别缺少哪些号码,但它还列出了最新交易 ID 之后的所有号码。如何将查询限制为当前最大事务 ID #?

这就是我到目前为止所拥有的。

SELECT YearlyOfferIds.YOID
FROM
    YearlyOfferIds
    LEFT JOIN [Offer Check]
    ON YearlyOfferIds.[YOID] = [Offer Check].[TextList]
WHERE ((([Offer Check].TextList) Is Null));

我正在尝试添加或做同样事情的东西。

SELECT Max([Offer Check].NumList) AS MaxOfNumList
FROM [Offer Check];
4

1 回答 1

2

您的第二个查询,SELECT Max(...,可以翻译成一个DMax表达式。

DMax("NumList", "Offer Check")

我的预感是您可以DMax在第一个查询的WHERE子句中使用它来限制从YearlyOfferIds. 不幸的是,我不知道YearlyOfferIds您想与 maximum 进行比较的字段名称[Offer Check].NumList。所以我只称那个字段为 some_field

WHERE
        YearlyOfferIds.some_field <= DMax("NumList", "Offer Check")
    AND [Offer Check].TextList Is Null
于 2013-07-17T23:57:10.680 回答