Ошибка времени выполнения «13» Несоответствие типов MS Access VBA Dlookup - PullRequest
0 голосов
/ 06 апреля 2020

Попытка получить количество совпадающих данных с YES в таблице, но при этом

Несоответствие типов

и не удается отследить, где я пропускаю. Кто-то, пожалуйста, помогите мне.

enter image description here

Dim val As String
Dim srn As String
Dim qtrcount As Variant
Dim Qtrsrv As String

srn = Nz(Me.Service_Registration_Number.Value, 0)
val = Nz(DLookup("QTR_Service", "Service_MasterData", "[Service_Registration_Number] = '" & srn & "'"), 0)
If val = "YES" Then
**qtrcount = DCount("QTR_Service", "Service_MasterData", "[Service_Registration_Number]='" & srn & "'" And "QTR_Service ='" & val & "'")**
End If

qtrcount результат должен быть 3

1 Ответ

0 голосов
/ 06 апреля 2020

Проблема связана с конкатенацией части where DCount. Оно должно выглядеть следующим образом:

    qtrCount = DCount("QTR_Service", "Service_MasterData", "[Service_Registration_Number]='" & srn & "' And QTR_Service ='" & val & "'")

В качестве отступления, если вы уже определили, что val="YES", возможно, лучше использовать YES в предложении where, а не объединять val:

qtrCount = DCount("QTR_Service", "Service_MasterData", "[Service_Registration_Number]='" & srn & "' And QTR_Service ='YES'")

С уважением,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...