#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. Я решаю проблему, скопировав команду в свой код, но я не смог окончательно выяснить причину ошибки. но спасибо за ваши ответы