Несоответствие типов в DMax с несколькими аргументами - PullRequest
1 голос
/ 23 мая 2019

Итак, у меня есть таблица счетов («Счета») в MS Access.У меня также есть форма, отображающая каждую запись, и для каждой записи, на которую я смотрю, я хочу показать поле из предыдущего счета-фактуры того же клиента.

Поэтому я попытался использовать функцию DMax с 2 аргументами.Первый, чтобы убедиться, что счета были связаны с тем же клиентом, а второй, чтобы убедиться, что номер счета был меньше, чем текущий номер счета отображается.

RecentInvNo = DMax("[Invoice Number]", "Invoices", "[Invoice Number]<" & Me.Invoice_Number And "[Customer Number] ='" & Me.Combo15 & "'")

Где:
"Номер счета »- это поле в таблице« Счета ».
Me.Invoice_Number - номер счета в форме.
Me.Combo15 - номер клиента в форме.

К сожалению, я получаю «ошибку времени выполнения 13: несоответствие типов».

Однако работает следующее:

  Temp = DMax("[Invoice Number]", "Invoices", "[Invoice Number]<" & Me.Invoice_Number)

И

RecentInvNo = DMax("[Invoice Number]", "Invoices", "[Customer Number] ='" & Me.Combo15 & "'")

Так почему я получаю несоответствие типов при объединении этих двух?Должна ли каждая сторона А быть однотипной?Кто-нибудь может предложить исправление или альтернативу?

Спасибо!

1 Ответ

1 голос
/ 24 мая 2019

Оператор AND является буквенным текстом и должен находиться в кавычках. Также нужен символ конкатенации.

RecentInvNo = DMax("[Invoice Number]", "Invoices", "[Invoice Number]<" & Me.Invoice_Number & " And [Customer Number] ='" & Me.Combo15 & "'")

Предполагается, что [Номер счета] является полем типа номера.

Рекомендуется не использовать пробелы и знаки препинания / специальные символы в соглашении об именах.

...