Komunikat o błędzie podczas używania znaków specjalnych w bazach danych programu Access
W tym artykule wymieniono znaki specjalne, których nie należy używać podczas pracy z nazwami obiektów bazy danych lub nazwami pól we wszystkich wersjach programu Access.
Oryginalny numer KB: 826763
Uwaga
Ten artykuł dotyczy pliku bazy danych programu Microsoft Access (.mdb), pliku bazy danych programu Microsoft Access (.accdb) lub pliku projektu programu Microsoft Access (.adp).
Symptomy
W przypadku używania znaków specjalnych w programie Access występuje jeden z następujących problemów.
Problem 1
W nazwie pola tabeli jest używany jeden z następujących znaków specjalnych:
- Grawis (`)
- Wykrzyknik (!)
- Kropka (.)
- Nawias kwadratowy ([])
- Spacja wiodąca
- Znaki niedrukowalne
W tej sytuacji pojawia się następujący komunikat o błędzie:
Nazwa pola jest nieprawidłowa.
Upewnij się, że nazwa nie zawiera kropki(.), wykrzyknika(!), nawiasu kwadratowego([]), spacji wiodącej lub znaku niedrukowalnego, takiego jak powrót karetki. Jeśli nazwa została wklejona z innej aplikacji, spróbuj nacisnąć klawisz ESC i ponownie wpisać nazwę.
Jeśli używasz tych znaków specjalnych w nazwie tabeli, zostanie wyświetlony następujący komunikat o błędzie:
Wprowadzona nazwa obiektu "TableName" nie jest zgodna z zasadami nazewnictwa obiektów programu Microsoft Office Access.
Problem 2
Tworzysz wyrażenie zapytania. Wyrażenie zapytania zawiera pola zawierające znaki specjalne. W zależności od określonych znaków specjalnych wyświetlany jest jeden z następujących komunikatów o błędzie:
Jeśli nazwa pola zawiera znak spacji, znak zapytania (?) lub znak małpa (@), zostanie wyświetlony następujący komunikat o błędzie:
Wprowadzone wyrażenie zawiera nieprawidłową składnię.
Być może wprowadzono operand bez operatoraJeśli nazwa pola zawiera cudzysłów (") lub apostrof('), zostanie wyświetlony następujący komunikat o błędzie:
Wprowadzone wyrażenie zawiera nieprawidłowy ciąg znaków.
Ciąg może mieć długość do 2048 znaków, w tym znaki cudzysłowu otwierającego i zamykającego.Jeśli nazwa pola zawiera znak numeru (#), zostanie wyświetlony następujący komunikat o błędzie:
Wprowadzone wyrażenie zawiera nieprawidłową wartość daty.
Jeśli nazwa pola zawiera znak procentu (%), tyldę (~), średnik (;) lub nawias kwadratowy ([]), zostanie wyświetlony następujący komunikat o błędzie:
Wprowadzone wyrażenie zawiera nieprawidłową składnię.
Pominięto operand lub operator, wprowadzono nieprawidłowy znak lub przecinek lub wprowadzono tekst bez otaczania go cudzysłowami.Jeśli nazwa pola zawiera nawias klamrowy ({}), zostanie wyświetlony następujący komunikat o błędzie:
Źle sformułowany identyfikator GUID w wyrażeniu zapytania "ObjectName"
Jeśli nazwa pola zawiera nawias kwadratowy ([]) lub nawias okrągły (()), zostanie wyświetlony następujący komunikat o błędzie:
W wprowadzonym wyrażeniu brakuje nawiasu zamykającego, nawiasu kwadratowego (]) lub pionowego paska (|).
Problem 3
Wprowadzono zapytanie zawierające wyrażenia zapytania. Wyrażenia zapytania zawierają pola zawierające znaki specjalne. Podczas uruchamiania zapytania wyświetlana jest prośba o podanie wartości parametru. Zazwyczaj problem ten występuje w przypadku użycia następujących znaków specjalnych:
- Znak większy niż (>)
- Mniej niż znak (<)
- Kropka (.)
- Gwiazdka (*)
- Dwukropek (:)
- Kareta (^)
- Znak plusa (+)
- Ukośnik odwrotny (\)
- Znak równości (=)
- Et (&)
- Ukośnik (/)
Obejście problemu
Aby obejść ten problem, nie używaj znaków specjalnych. Jeśli musisz używać znaków specjalnych w wyrażeniach zapytania, umieść znaki specjalne w nawiasach kwadratowych ([]). Jeśli na przykład chcesz użyć znaku większego niż (>), użyj polecenia [>].
Więcej informacji
Program Microsoft Access nie ogranicza używania znaków specjalnych, takich jak znak liczbowy (#), kropka (.) ani cudzysłów (") w nazwach obiektów bazy danych ani w nazwach pól bazy danych. Jeśli jednak używasz znaków specjalnych, mogą wystąpić nieoczekiwane błędy. W związku z tym firma Microsoft zaleca, aby nie używać znaków specjalnych w nazwach obiektów bazy danych w bazie danych programu Access ani w projekcie bazy danych. W tym artykule omówiono znaki specjalne, których należy unikać z powodu znanych problemów z tymi znakami specjalnymi.
Podczas pracy z programem Access lub z inną aplikacją, taką jak aplikacja Microsoft Visual Basic lub aplikacja Active Server Pages (ASP), należy unikać następujących znaków specjalnych:
Name (Nazwa) | Symbol |
---|---|
Spacja | |
Apostrof | ' |
Cudzysłów | " |
Apostrof | ' |
Znak @ | @ |
Grawis | ` |
Znak numeru | # |
Procent | % |
Znak większe niż | > |
Znak mniejsze niż | < |
Wykrzyknik | ! |
Kropka | . |
Nawiasy kwadratowe | [ ] |
Gwiazdka | * |
Znak dolara | $ |
Średnik | ; |
Dwukropek | : |
Znak zapytania | ? |
Kareta | ^ |
Nawiasy klamrowe | { } |
Znak plusa | + |
Łącznik | - |
Znak równości | = |
Tylda | ~ |
Ukośnik odwrotny | | |
Konwencje nazewnictwa programu Access
Firma Microsoft zaleca, aby nie używać kropki (.), wykrzyknika (!), grawisu (`),nawiasu kwadratowego ([ ]), spacji ( ) lub cudzysłowu (") wewnątrz nazw funkcji, nazw zmiennych, nazw pól lub nazw obiektów bazy danych, takich jak tabele i formularze.
Istnieją znane problemy występujące w przypadku użycia następujących znaków specjalnych w programie Access. W następujących scenariuszach opisano, kiedy nie można używać znaków specjalnych:
- Podczas eksportowania obiektów bazy danych do innych formatów plików, takich jak format pliku Microsoft Excel, format pliku HTML lub format pliku tekstowego, nie należy używać znaku liczbowego (#) ani kropki (.) w nazwach obiektów bazy danych ani w nazwach pól.
- W przypadku używania hiperłączy w programie Access hiperłącza są przechowywane jako zmodyfikowane pola not ze znakiem liczbowym (#) jako ogranicznikiem. W związku z tym znak numeru jest traktowany jako słowo zarezerwowane w programie Access. Podczas tworzenia hiperłączy nie należy używać znaku numeru.
- Podczas importowania pliku tekstowego do programu Access i pliku tekstowego zawierającego karty lub inne znaki specjalne, znaki specjalne są konwertowane, a następnie wyświetlane jako pola. W związku z tym podczas próby użycia zaimportowanych tabel występują nieoczekiwane błędy. Podczas importowania do programu Access nie można używać znaków specjalnych w tabeli źródłowej.
- W przypadku dodawania lub modyfikowania danych w bazie danych programu Access przy użyciu formularzy ASP nie można używać znaku procentu (%), znaku plus (+) ani karety (^) w formularzu. Te znaki specjalne mogą nie być poprawnie tłumaczone w bazie danych programu Access.
- W przypadku korzystania z języków o pełnej szerokości nie należy używać znaków o pełnej szerokości w nazwach obiektów bazy danych ani w nazwach kontrolek. Na przykład nie można używać nawiasów o pełnej szerokości podczas korzystania z języków o pełnej szerokości. Może to spowodować błędy kompilacji, jeśli w procedurze zdarzenia dla obiektu lub kontrolki istnieje kod.