Messaggio di errore quando si usano caratteri speciali nei database di Access

Questo articolo elenca i caratteri speciali da evitare quando si usano i nomi di oggetto o i nomi di campo di un database in tutte le versioni di Access.

Numero originale della Knowledge Base: 826763

Nota

Le informazioni in questo articolo si applicano ai file di database di Microsoft Access con estensione .mdb oppure .accdb e ai file di progetto di Microsoft Access con estensione .adp.

Sintomi

Quando si usano caratteri speciali in Access, è possibile che si verifichi uno dei problemi seguenti.

Problema 1

Viene utilizzato uno dei seguenti caratteri speciali nel nome di un campo tabella:

  • Accento grave (')
  • Punto esclamativo (!)
  • Punto (.)
  • parentesi quadra ([])
  • Spazio iniziale
  • Caratteri non stampabili

In questo caso, viene visualizzato il seguente messaggio di errore:

Il nome campo non è valido.
Assicurarsi che il nome non contenga un punto (.), un punto esclamativo (!), parentesi quadre ([]), uno spazio iniziale o un carattere non stampabile, ad esempio un ritorno a capo. Se il nome è stato incollato da un'altra applicazione, provare a premere ESC e digitare di nuovo il nome.

Se si usano questi caratteri speciali in un nome di tabella, viene visualizzato il messaggio di errore seguente:

Il nome oggetto immesso 'TableName' non rispetta le regole per la denominazione degli oggetti di Microsoft Office Access.

Problema 2

Viene creata un'espressione di query. L'espressione di query include campi che contengono caratteri speciali. A seconda degli specifici caratteri speciali, viene visualizzato uno dei messaggi di errore seguenti:

  • Se il nome campo contiene un carattere spazio, un punto interrogativo (?) o la chiocciola (@), viene visualizzato il messaggio di errore seguente:

    Errore di sintassi nell'espressione.
    È possibile che sia stato immesso un operando senza un operatore

  • Se il nome campo contiene una virgoletta aperta (") o un apostrofo ('), viene visualizzato il messaggio di errore seguente:

    Stringa non valida nell'espressione.
    Il limite di lunghezza massimo di una stringa è di 2048 caratteri, incluse le virgolette che la racchiudono.

  • Se il nome campo contiene un simbolo di numero (#), viene visualizzato il messaggio di errore seguente:

    Valore di data non valido nell'espressione.

  • Se il nome campo contiene un segno di percentuale (%), una tilde (~), un punto e virgola (;) o parentesi quadre ([]), viene visualizzato il messaggio di errore seguente:

    Errore di sintassi nell'espressione.
    Operando o operatore mancante, carattere o virgola non valida oppure testo immesso non racchiuso tra virgolette.

  • Se il nome campo contiene una parentesi graffa ({}), viene visualizzato il messaggio di errore seguente:

    GUID in formato non corretto nell'espressione di query 'ObjectName'

  • Se il nome del campo contiene una parentesi quadra ([]) o una parentesi tonda (()), viene visualizzato il messaggio di errore seguente:

    Parentesi chiusa tonda, quadra (]) o barra verticale (|) mancante nell'espressione.

Problema 3

Si dispone di una query che contiene espressioni di query. Le espressioni di query includono campi che contengono caratteri speciali. Quando si esegue la query, viene richiesto di immettere un valore di parametro. Questo problema solitamente si verifica quando si usano i seguenti caratteri speciali:

  • Simbolo "maggiore di" (>)
  • Simbolo "minore di" (<)
  • Punto (.)
  • Asterisco (*)
  • Due punti (:)
  • Accento circonflesso (^)
  • Segno di addizione (+)
  • Barra rovesciata (\)
  • Segno di uguale (=)
  • E commerciale (&)
  • Barra (/)

Soluzione alternativa

Per risolvere questo problema, non si devono utilizzare caratteri speciali. Se è necessario utilizzare caratteri speciali nelle espressioni di query, racchiuderli tra parentesi quadre ([]). Ad esempio, se si desidera utilizzare il segno di maggiore (>), utilizzare [>].

Ulteriori informazioni

Microsoft Access non limita l'utilizzo di caratteri speciali, ad esempio il simbolo di cancelletto (#), un punto (.) oppure una virgoletta (") nei nomi degli oggetti di database o nei nomi dei campi del database. Tuttavia, se si usano i caratteri speciali, potrebbero verificarsi errori imprevisti. Microsoft consiglia pertanto di non usare i caratteri speciali nei nomi degli oggetti di database nel database di Access oppure nel progetto di database. Questo articolo illustra i caratteri speciali che è necessario evitare a causa di problemi noti.

Quando si utilizza Access o un'altra applicazione, ad esempio un'applicazione Microsoft Visual Basic o un'applicazione ASP (Active Server Pages), è necessario evitare i caratteri speciali seguenti:

Nome Simbolo
Spazio
Apostrofo '
Virgoletta "
Apostrofo '
Chiocciola @
Accento grave `
Cancelletto #
Percentuale %
Segno maggiore di >
Segno minore di <
Punto esclamativo !
Punto .
Parentesi [ ]
Asterisco *
Simbolo del dollaro $
Punto e virgola ;
Due punti :
Punto interrogativo ?
Accento circonflesso ^
Parentesi graffe { }
Segno di addizione +
Trattino -
Segno di uguale =
Tilde ~
Barra rovesciata |

Convenzioni di denominazione di Access

Microsoft consiglia di non utilizzare il punto (.), il punto esclamativo (!), l'accento grave ('), le parentesi quadre ([ ]), lo spazio ( ) o la virgoletta (") all'interno dei nomi delle funzioni, dei nomi delle variabili, dei nomi dei campi oppure dei nomi degli oggetti di database, ad esempio tabelle e moduli.

Esistono problemi noti che si verificano se si utilizzano i caratteri speciali seguenti in Access. Gli scenari seguenti descrivono quando non è necessario utilizzare i caratteri speciali:

  • Quando si esportano gli oggetti di database in altri formati di file, ad esempio un formato di file Microsoft Excel, un formato di file HTML o un formato di file di testo, non si deve utilizzare un cancelletto (#) oppure un punto (.) nei nomi degli oggetti di database o nei nomi dei campi.
  • Quando si usano collegamenti ipertestuali in Access, questi vengono archiviati come campi di tipo Memo modificati con un cancelletto (#) come delimitatore. Pertanto, il cancelletto viene considerato come una parola riservata in Access. Non usare il cancelletto quando si creano collegamenti ipertestuali.
  • Quando si importa un file di testo in Access e tale file contiene schede o altri caratteri speciali, i caratteri speciali vengono convertiti e quindi visualizzati come caselle. Pertanto, quando si tenta di utilizzare la tabella importata, vengono visualizzati messaggi di errore imprevisti. Non si devono usare i caratteri speciali nella tabella di origine quando si importa in Access.
  • Quando si usano moduli ASP per aggiungere o modificare dati in un database di Access, nel modulo non devono essere utilizzati un segno di percentuale (%), un segno di addizione (+) o un accento circonflesso (^). Questi caratteri speciali potrebbero non essere convertiti correttamente nel database di Access.
  • Quando si usano lingue a larghezza intera, non si devono utilizzare caratteri a larghezza intera nel nome degli oggetti di database o nel nome dei controlli. Ad esempio, se si utilizzano lingue a larghezza intera, non è necessario utilizzare parentesi a larghezza intera. Questo potrebbe causare errori di compilazione se è presente un codice in una routine evento per l'oggetto o per il controllo.