• Статья
  • Чтение занимает 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

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

  • Accent grave (‘)
  • Восклицательный знак (!)
  • Период (.)
  • кронштейн ([])
  • Ведущее пространство
  • Непечатаемые символы

В этом случае вы получите следующее сообщение об ошибке:

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

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

Имя объекта ‘TableName’, в которое вы ввели, не следует Microsoft Office правил именования объектов Access.

Проблема 2

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

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

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

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

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

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

    Введенное выражение имеет недействительное значение даты.

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

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

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

    Malformed GUID в выражении запроса ‘ObjectName

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

    В выражении, в который вы ввели, отсутствует закрываемая скобка, скобка (]) или вертикальная планка (|).

Проблема 3

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

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

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

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

Дополнительные сведения

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

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

Name Символ
Space
Апостроф
Метка кавычка «
Апостроф
При входе @
Гравийный акцент `
Знак номеров #
Процент %
Больше, чем знак >
Меньше, чем знак <
Восклицательный знак !
Period .
Кронштейны [ ]
Звездочка *
Знак Доллар $
Semicolon ;
Двоеточие :
Знак вопроса ?
Caret ^
Скобки { }
Знак плюса +
Hyphen
Знак Equal =
Tilde ~
Backslash |

Доступ к соглашениям именования

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

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

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