• 20.07.2020
  • Чтение занимает 4 мин
  • Применяется к:
    Access for Office 365, Access 2019, Access 2016, Access 2013, Access 2010, Microsoft Office Access 2007, Microsoft Office Access 2003

В этой статье

В этой статье перечислены специальные символы, которые не следует использовать при работе с именами объектов базы данных или именами полей во всех версиях Access.

Примечание

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Исходный номер статьи базы знаний:   826763

Примечание

Эта статья относится к файлу базы данных Microsoft Access (. mdb) или к файлу базы данных Microsoft Access (ACCDB), а также к файлу проекта Microsoft Access (ADP).

Симптомы

При использовании специальных символов в Access вы наблюдайте одну из указанных ниже проблем.

Проблема 1

В имени поля таблицы используется один из следующих специальных символов:

  • Диакритические знаки (‘)
  • Восклицательный знак (!)
  • Точка (.)
  • квадратная скобка ([])
  • Начальное пространство
  • Непечатаемые символы

В этом случае отображается следующее сообщение об ошибке:

Недопустимое имя поля.
Убедитесь, что имя не содержит точку (.), восклицательный знак (!), квадратные скобки ([]), начальный пробел или непечатаемый символ, например символ возврата каретки. Если имя было вставлено из другого приложения, попробуйте нажать клавишу ESC и ввести имя еще раз.

Если вы используете эти специальные символы в имени таблицы, появится следующее сообщение об ошибке:

Введенное имя объекта «имя_таблицы» не соответствуют правилам именования объектов Microsoft Office Access.

Проблема 2

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

  • Если имя поля содержит символ пробела, знак вопроса (?) или знак @, отображается следующее сообщение об ошибке:

    Введенное выражение содержит недопустимый синтаксис.
    Возможно, вы ввели операнд без оператора

  • Если имя поля содержит знак кавычек («) или апостроф (‘), появится следующее сообщение об ошибке:

    Введенное выражение содержит недопустимую строку.
    Строка может иметь длину до 2048 символов, в том числе открывающие и закрывающие кавычки.

  • Если имя поля содержит знак номера (#), появится следующее сообщение об ошибке:

    Введенное выражение имеет недопустимое значение даты.

  • Если имя поля содержит знак процента (%), тильда (~), точка с запятой (;) или квадратная скобка ([]), появится следующее сообщение об ошибке:

    Введенное выражение содержит недопустимый синтаксис.
    Пропущен операнд или оператор, введен недопустимый символ или запятая, или текст введен без заключения в кавычки.

  • Если имя поля содержит фигурную скобку ( {} ), появится следующее сообщение об ошибке:

    Неправильно сформированный идентификатор GUID в выражении запроса «имя_объекта«

  • Если имя поля содержит квадратные скобки ([]) или скобки (()), появится следующее сообщение об ошибке:

    В введенном выражении отсутствуют закрывающие скобки, квадратные скобки (]) или вертикальную черту (|).

Проблема 3

У вас есть запрос, который содержит выражения запросов. Выражения запроса включают поля, содержащие специальные символы. При выполнении запроса вы повышается до ввода значения параметра. Как правило, эта проблема возникает при использовании следующих специальных символов:

  • знак «больше» (>);
  • знак «меньше» (<);
  • Точка (.)
  • Звездочка (*)
  • Двоеточие (:)
  • Символ «крышка» (^)
  • Знак «плюс» (+)
  • Обратная косая черта ()
  • Знак равенства (=)
  • амперсанд (&);
  • Косая черта (/)

Обходной путь

Чтобы обойти эту проблему, не используйте специальные символы. Если необходимо использовать специальные символы в выражениях запроса, заключите специальные символы в квадратные скобки ([]). Например, если вы хотите использовать знак «больше» (>), используйте [>].

Дополнительная информация

Microsoft Access не ограничивает использование специальных символов, например знака номера (#), точки (.) или знака кавычек («) в именах объектов базы данных или в именах полей базы данных. Однако при использовании специальных символов могут возникать неожиданные ошибки. Поэтому корпорация Майкрософт не рекомендует использовать специальные символы в именах объектов базы данных в базе данных Access или проекте базы данных. В этой статье описываются специальные символы, которые следует избегать из-за известных проблем с этими специальными знаками.

При работе с Access или с другими приложениями, такими как приложение Microsoft Visual Basic или приложение страниц ASP, необходимо избегать использования следующих специальных символов:

Space
Апостроф
Знак кавычек«
Апостроф
Вход@
Знак ударения`
Знак номера#
Процент%
Знак «больше»>
Знак «меньше»<
Восклицательный знак!
Period.
Круглые[ ]
Символы*
Знак доллара$
Точки;
Ставить:
Вопросительный знак?
Крышка^
Скобок{ }
Знак плюса+
Дискрецион
Знак равенства=
Символа~
Чертой|

Соглашения об именовании для Access

Корпорация Майкрософт не рекомендует использовать точку (.), восклицательный знак (!), знак ударения (‘), квадратную скобку ([]), пробел () или знак кавычек («) в именах функций, имена переменных, имена полей или имена объектов базы данных, такие как таблицы и формы.

Существуют известные проблемы, возникающие при использовании в Access следующих специальных символов. В следующих сценариях описывается, когда не следует использовать специальные символы:

  • При экспорте объектов базы данных в другие форматы файлов, такие как формат файлов Microsoft Excel, формат HTML или текстовый файл, не используйте знак номера (#) или точку (.) в именах объектов базы данных или в именах полей.
  • При использовании гиперссылок в Access гиперссылки хранятся в виде измененных полей MEMO с символом решетки (#) в качестве разделителя. Таким образом, знак номера считается зарезервированным словом в Access. Не используйте знак номера при создании гиперссылок.
  • При импорте текстового файла в Access, если этот текстовый файл содержит знаки табуляции или другие специальные символы, Специальные символы преобразуются, а затем специальные символы отображаются как поля. Таким образом, при попытке использования импортированной таблицы появляются неожиданные ошибки. При импорте в Access не следует использовать специальные символы в исходной таблице.
  • При использовании форм ASP для добавления или изменения данных в базе данных Access не следует использовать знак процента (%), знак «плюс» (+) или знак крышки (^) в форме. Эти специальные символы могут неправильно переводиться в базе данных Access.
  • При использовании полноширинных языков не используйте полноширинные знаки в именах объектов базы данных или в именах элементов управления. Например, при использовании языков с полными ширинами не следует использовать круглые скобки. это может привести к ошибкам компиляции при наличии кода в процедуре обработки события для объекта или элемента управления.