как найти данные из таблицы и проверить с помощью текста, если они совпадают, подтвердите, что данные существуют

#vba #ms-access-2016

Вопрос:

Таблица содержит столбец «Код» и пытается соответствовать текстовому окну формы доступа, если данные в текстовом поле совпадают с данными в столбце «Код», он должен сказать, что данные существуют.. прошу вашей любезной помощи.я пытался, но, похоже, ошибся

 ecode = Me.code.Text
Dim dupsql

dupsql = "SELECT Code FROM [BookingTable]WHERE Code ='" amp; ecode amp; "'"
'Debug.Print dupsql
If dupsql = ecode Then

MsgBox " The Entered Code is already in Use! ", vbInformation
end if
 

Комментарии:

1. попытка использовать Dlookup, Dim datafind В качестве строки datafind = DLookup(«Код», «Таблица бронирования») ‘Отладка. Распечатайте datafind, Если datafind = ecode, То MsgBox » Введенный код уже используется!», Vbинформация Заканчивается, Если

Ответ №1:

Инструкция SELECT SQL используется для открытия объекта набора записей. Ваш код не открывает объект набора записей. Просто ссылка на переменную, содержащую строку SQL, ничего не делает.

Не нужен объект набора записей. Агрегатной функцией домена DLookup может служить.

 If Not IsNull(DLookup("Code", "BookingTable", "Code='" amp; Me.Code amp; "'") Then
    MsgBox " The Entered Code is already in Use! ", vbInformation
End If
 

Или постоянный счет.

 If DCount("*", "BookingTable", "Code='" amp; Me.Code amp; "'") > 0 Then
 

Комментарии:

1. спасибо за ваши указания .. в соответствии с вашим предыдущим вопросом вы предложили использовать Dlookup, и я попробовал это сработало .. .большое спасибо

Ответ №2:

Я использовал следующий код, и он работает.

 ecode = Me.code.Text
Dim datafind As String
datafind = Nz(DLookup("[Code]", "BookingTable", "Code = '" amp; ecode amp; "'"), 0)
Debug.Print datafind

If datafind = ecode Then
MsgBox " The Entered Code is already in Use! ", vbInformation
end if