Ваш внутренний запрос отличается. Но тогда ваш внешний запрос не различает его: -).
*
означает, что вы хотите каждое поле в таблице. Если у вас есть дубликаты записей на этом уровне, то у вас есть таблица без уникального идентификатора записи, которая может быть плохим дизайном.
В любом случае - отчетливое возвращение выглядит так:
Set rs = CurrentDb.OpenRecordset("SELECT min(refnum), [field1], [field2] FROM table GROUP BY [field1], [Field2])
Вам не нужен внутренний / внешний запрос, как у вас - только это.
Также - просто стандартный совет - вам лучше составить список полей, чем использовать *.
EDIT
Я добавил группу в sql выше. Кроме того, вам нужно перечислить поля сейчас - нельзя использовать *
. Кроме того, помните, что поля, которые вы агрегируете (например, refnum, когда вы используете для него min ()), не должны указываться в вашем GROUP BY.