Получение нулевого значения при использовании Dlookup - PullRequest
1 голос
/ 30 марта 2020

Я не эксперт в доступе, но пытаюсь что-то сделать с Dlookup, но не уверен, почему я получаю ошибку времени выполнения 3464

enter image description here

Мое требование для получения подробной информации о плате за обслуживание, если я ввожу значение мощности двигателя в текстовом поле и тип услуги в поле со списком. Я должен получить стоимость услуг в тексте любезно помочь. Здесь я прилагаю скриншот таблицы, базы данных и dlookup

enter image description here

Dim val As Double
Dim sert As String
Dim engp As Double

sert = Me.Service_Type.Value
engp = Me.Engine_Power.Value

val = DLookup("Ser_charge", "Service_Charges", "Service_Type='sert' AND Engine_power = 'engp'")

из таблицы Service_charges

enter image description here

Ответы [ 3 ]

1 голос
/ 30 марта 2020

Вам необходимо объединить значения в строку поиска:

val = DLookup("ser_charge", "service_charges", "Service_Type='" & sert & "' AND Engine_Power=" & engp)

Предполагается, что Service_type - это строка, поэтому для переноса переменной используются одинарные кавычки, а engine_power цифра c, поэтому вам не нужно переносить переменную.

С уважением,

1 голос
/ 30 марта 2020

Вы должны объединить значения переменных, первое как текст, второе как число:

val = DLookup("Ser_charge", "Service_Charges", "Service_Type='" & sert & "' AND Engine_power = " & engp & "")

И dim val как Валюта . Всегда используйте валюту для сумм и т. П.

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

Использовали ли вы функцию Nz, чтобы возвратить нулевое значение в 0, например:

val = Nz(DLookup("Ser_charge", "Service_Charges", "Service_Type='" & sert & "' AND Engine_power = " & engp ),0)

Это может решить вашу проблему. Также обратите внимание на удаление строковых кавычек "", когда вы имеете дело с числом.

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