Использование значения из текстового поля в команде обновления SQL

#vba #ms-access

#vba #ms-access

Вопрос:

Я создал форму ввода в MS Access и пытаюсь написать UPDATE команду, которая присваивает определенное значение значению текстового поля, а также получает значение критерия из другого текстового поля:

 SQLtext = "UPDATE tblInfo SET name='" amp; txtValue.Value amp; "' WHERE ID='" txtID.Value amp; "'"
DoCmd.RunSQL SQLtext
  

но эта ошибка возникает:

«Ожидается: завершение инструкции»

Пожалуйста, помогите!

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

1. Кажется, вам не хватает амперсанда, amp; непосредственно перед идентификатором txtID в WHERE . Однако компилятор VBA должен был предупредить вас, как только вы вышли из строки. Кроме того, компилятор поместил бы пробелы в вашу конкатенацию. Пожалуйста, проверьте, что опубликованное здесь утверждение точно такое же, как у вас в коде.

Ответ №1:

Вам не хватало amp;, попробуйте это:

 SQLtext = "UPDATE tblInfo SET name='" amp; txtValue.Value amp; "' WHERE ID='" amp; txtID.Value amp; "'"
DoCmd.RunSQL SQLtext
  

Запросы не чувствительны к регистру, но рекомендуется использовать все команды SQL в верхнем регистре.

Если вы получаете какие-либо другие ошибки, прокомментируйте их ниже, пожалуйста.

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

1. отличные ребята. нет, я просто пропускаю это здесь.

2. Я решаю проблему, скопировав команду в свой код, но я не смог окончательно выяснить причину ошибки. но спасибо за ваши ответы