Сообщение об ошибке при использовании специальных символов в базах данных Access
В этой статье перечислены специальные символы, которые не следует использовать при работе с именами объектов базы данных или именами полей во всех версиях Access.
Оригинальный номер базы знаний: 826763
Примечание.
Эта статья применима к файлам баз данных Microsoft Access (.mdb) или (.accdb), а также к файлу проекта Microsoft Access (.adp).
Симптомы
При использовании специальных символов в Access возникает одна из следующих проблем.
Проблема 1
В имени поля таблицы используется один из следующих специальных символов:
- Знак над символом (`)
- Восклицательный знак (!)
- Точка (.)
- квадратные скобки ([])
- Пробел
- Непечатаемые символы
В этом случае отобразится следующее сообщение об ошибке:
Недопустимое имя поля.
Убедитесь, что имя не содержит точку (.), восклицательный знак(!), квадратные скобки ([]), пробел или непечатаемый символ, например символ возврата каретки. Если вы вставляете имя из другого приложения, попробуйте нажать клавишу ESC и ввести имя еще раз.
При использовании этих специальных символов в имени таблицы отобразится следующее сообщение об ошибке:
Введенное имя объекта 'TableName' не соответствует правилам именования объектов Microsoft Office Access.
Проблема 2
Вы создаете выражение запроса. Выражение запроса включает поля, содержащие специальные символы. При использовании отдельных специальных символов отображается следующее сообщение об ошибке:
Если имя поля содержит пробел, вопросительный знак (?) или знак @, отобразится следующее сообщение об ошибке:
Ошибка синтаксиса во введенном выражении.
Задано значение для операции без оператораЕсли имя поля содержит кавычки (") или апостроф ('), отобразится следующее сообщение об ошибке:
Введенное выражение содержит ошибочную строку.
Строка может содержать до 2048 знаков, включая знаки открывающей и закрывающей кавычек.Если имя поля содержит знак решетки (#), отобразится следующее сообщение об ошибке:
Введенное выражение содержит недопустимое значение даты.
Если имя поля содержит знак процента (%), тильду (~), точку с запятой (;) или скобки ([]), отобразится следующее сообщение об ошибке:
Ошибка синтаксиса во введенном выражении.
Пропущен операнд или оператор, введен недопустимый знак или лишняя запятая, либо задана строка без кавычек.Если имя поля содержит фигурные скобки ({}), отобразится следующее сообщение об ошибке:
Неверно сформированный код GUID в выражении запроса 'ObjectName'
Если имя поля содержит квадратные скобки ([]) или круглые скобки (()), отобразится следующее сообщение об ошибке:
Во введенном выражении отсутствует закрывающая скобка, квадратная скобка (]) или вертикальная черта (|).
Проблема 3
У вас есть запрос, содержащий выражения запроса. Выражения запроса включают поля, содержащие специальные символы. При выполнении запроса предлагается ввести значение параметра. Как правило, эта проблема возникает при использовании следующих специальных символов:
- знак «больше» (>);
- знак «меньше» (<);
- Точка (.)
- Звездочка (*)
- Двоеточие (:)
- Крышка (^)
- Знак плюс (+)
- Обратная косая черта (\)
- Знак равенства (=)
- амперсанд (&);
- Косая черта (/)
Обходной путь
Чтобы устранить эту проблему, не используйте специальные символы. Если в выражениях запроса необходимо использовать специальные символы, заключите их в квадратные скобки ([]). Например, если вы хотите использовать знак> больше (), используйте [>].
Дополнительная информация
Microsoft Access не ограничивает использование специальных символов, таких как знак решетки (#), точка (.) или кавычки (") в именах объектов базы данных или в именах полей базы данных. Однако при использовании специальных символов могут возникнуть непредвиденные ошибки. Поэтому корпорация Майкрософт рекомендует не использовать специальные символы в именах объектов базы данных в базе данных Access или в проекте базы данных. В этой статье рассматриваются специальные символы, которые не следует использовать во избежание известных проблем с ними.
При работе с Access или другим приложением, например приложением Microsoft Visual Basic или приложением Active Server Pages (ASP), не следует использовать следующие специальные символы:
Имя | Символ |
---|---|
Space | |
Апостроф | ' |
Кавычка | " |
Апостроф | ' |
Знак "@" | @ |
Ё (или знак ударения) | ` |
Знак решетки | # |
Процент | % |
Знак «больше» | > |
Знак «меньше» | < |
Восклицательный знак | ! |
Period | . |
Квадратные скобки | [ ] |
Звездочка | * |
Знак доллара | $ |
Точка с запятой | ; |
Двоеточие | : |
Вопросительный знак | ? |
Крышка | ^ |
Фигурные скобки | { } |
Знак плюса | + |
Дефис | - |
Знак равенства | = |
Тильда | ~ |
Обратная косая черта | | |
Соглашения об именовании в Access
Корпорация Майкрософт рекомендует не использовать точку (.), восклицательный знак (!), знак ударения (`), квадратные скобки ([ ]), пробел ( ) или кавычки (") внутри имен функций, имен переменных, имен полей или имен объектов базы данных, таких как таблицы и формы.
Использование следующих специальных символов в Access приводит к возникновению известных проблем. В следующих сценариях описано, когда не следует использовать специальные символы:
- При экспорте объектов базы данных в другие форматы файлов, такие как Microsoft Excel, HTML или текстовый файл, не используйте знак решетки (#) или точку (.) в именах объектов базы данных или в именах полей.
- Гиперссылки, используемые в Access, хранятся в виде измененных полей MEMO со знаком решетки (#) в качестве разделителя. Таким образом, знак решетки в Access рассматривается как зарезервированное слово. Не используйте знак решетки при создании гиперссылок.
- Когда вы импортируете текстовый файл, содержащий вкладки или другие специальные символы, в Access, эти специальные символы преобразуются, а затем отображаются в виде полей. Поэтому при попытке использовать импортированную таблицу возникают непредвиденные ошибки. При импорте в Access не следует использовать специальные символы в исходной таблице.
- При использовании форм ASP для добавления или изменения данных в базе данных Access не следует использовать знак процента (%), знак «плюс» (+) или крышку (^) в форме. Эти специальные символы могут неверно преобразовываться в базе данных Access.
- При использовании полноширинных языков не используйте полноширинные символы в имени объектов базы данных или в имени элементов управления. Например, при использовании полноширинных языков не следует использовать круглые скобки полной ширины. Это может привести к ошибкам компиляции при наличии кода в процедуре обработки события для объекта или элемента управления.