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 operatora

  • Jeś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.