2014-11-18 3 views
-1

У меня есть доступ к базе данных, что я пытаюсь сделать ссылку на SQL-запросSQL запрос возвращает слишком мало параметров

Set dba = CurrentDb 

    SQL = "SELECT * FROM tbl_NewHireStep WHERE Location = '" & Site & "' AND E-Verified = TRUE " 

    Set rst = dba.OpenRecordset(SQL, dbOpenDynaset, dbSeeChanges) 

продолжает давать мне слишком мало параметров ошибки. В SQL он отлично работает. Что я делаю не так?

+0

После SQL введите 'Debug.Print SQL' и посмотрите, получаете ли вы оператор SQL, который вы ожидаете –

+0

Я решил его, на самом деле он не понравился тире в имени моего поля, изменил его, и он работал Великий. – designspeaks

+0

Это не вопрос, не относящийся к теме, это проблема с доступом, которая не понравилась SQL. При создании таблиц в Access вы можете использовать много разных символов для создания имени таблицы. Однако, когда эти таблицы затем преобразуются в SQL, и для вывода данных используется оператор SQL, вы не сможете использовать эти уникальные символы. ПРОЧИТАЙТЕ ВОПРОС ПЕРЕД ТЕМ, ЧТОБЫ ЗАКРЫТЬ ЭТО КАК ОТКЛОНЕНИЕ! Кто может решить, не помогает ли это кому-то другому? – designspeaks

ответ

2

Дефис, -, является Access reserved symbol. Если вы хотите использовать его в имени поля или таблицы, вы всегда должны помещать это имя поля или таблицы в квадратные скобки, когда вы ссылаетесь на него. Например,

SQL = " SELECT * FROM tbl_NewHireStep " & _ 
     " WHERE Location = '" & Site & "' AND [E-Verified] = TRUE " 

Лучше избегать использования зарезервированных слов и символов в первую очередь. Несколько лет назад Аллен Браун составил список Problem names and reserved words in Access. Я не уверен, как текущий список, но это отличная ссылка при создании новых схем баз данных.

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