2016-05-24 4 views
1

Использую метод dlookup, чтобы использовать employeeid в качестве индекса для поиска Employeeame в моей форме доступа. Ниже приведен код, который я написал. employeeid - это короткий текст в моей таблице. Метод Dlookup не может вернуть значение (всегда ошибка), если я не изменю критерии на идентификатор, первичный ключ по умолчанию и не удаляю символы в моем коде.MS Access Dlookup с текстовыми критериями

Также я пытаюсь изменить свой столбец employeeid table table как число и исключить символы ', метод также не может вернуть значение. похоже, что метод dlookup может использовать только первичный ключ по умолчанию в качестве критерия в этом случае. Может кто-нибудь помочь с этим?

Public Function GetEmployeeName() As Variant 
    GetEmployeeName = DLookup("[EmployeeName]", "EInfor", "[EmployeeID] = "'& Me.txtEID.Value & "'") 
End Function 

ответ

2

У вас есть вы "и 'включен в [EmployeeID] = Это должно быть' первым, и" второй. Это должно работать:

DLookup("[EmployeeName]", "EInfor", "[EmployeeID] = '" & Me.txtEID.Value & "'") 

Если вы не понимаете, почему, я думаю, я мог бы расширить мои объяснения, но я думаю, что это, возможно, было печатать с ошибками.

+0

Да, вы правы, у меня есть ошибка, но он по-прежнему показывает ошибку после того, как я исправлю свой код. Я понятия не имею .... – Royy

+0

Вы пробовали без []? Те не должны там быть там, и в зависимости от того, как DLookup делает этот запрос, они могут выбросить ошибку. [] используются в качестве разделителей, если у вас есть такие места, как [Имя сотрудника], и это может не работать в DLookup. Я не могу честно думать о какой-либо другой проблеме вашего кода, она должна работать. Может быть, «Me.txtEID не имеет правильного значения? Вы пробовали отлаживать его, чтобы проверить, соответствует ли оно правильному значению? Может быть, он возвращает null или целое число? Я использовал DLookup для поиска не первичных ключевых строк, и он работал нормально. – CyberClaw

Смежные вопросы