Message d’erreur lorsque vous utilisez des caractères spéciaux dans les bases de données Access

S’applique à : Microsoft Office Access 2007Microsoft Office Access 2003

Cet article s’applique à un fichier de base de données (.mdb) Microsoft Access ou dans un fichier de base de données (.accdb) Microsoft Access et dans un fichier de projet (.adp) de Microsoft Access.

Symptômes


Lorsque vous utilisez des caractères spéciaux dans Access, vous rencontriez les problèmes suivants.

Problème 1

Vous utilisez un des caractères spéciaux suivants dans le nom d’un champ de table :
  • Accent grave (') de la géométrie
  • Point d’exclamation ( !)
  • Point (.)
  • CROCHETS ([])
  • Espace à gauche
  • Caractères non imprimables
Dans ce cas, le message d’erreur suivant s’affiche :
Le nom du champ n’est pas valide.
Assurez-vous que le nom ne contient pas un point, point d’exclamation point(!), bracket([]), espace, à gauche ou un caractère non imprimable comme un chariot de retour. Si vous avez collé le nom à partir d’une autre application, appuyez sur ÉCHAP et tapez le nom de nouveau.
Si vous utilisez ces caractères spéciaux dans un nom de table, le message d’erreur suivant s’affiche :
Le nom de l’objet 'nom_table' vous avez entré ne respecte pas les règles d’appellation des objets Microsoft Office Access.

Problème 2

Vous créez une expression de requête. L’expression de requête contient des champs qui contiennent des caractères spéciaux. En fonction des caractères spéciaux, vous recevez un des messages d’erreur suivants :
  • Si le nom du champ contient un caractère d’espace, un point d’interrogation ( ?), ou un signe arobase (@), vous recevez le message d’erreur suivant :
    L’Expression que vous avez entrée contient une syntaxe non valide.
    Vous avez peut-être entré un opérande sans un opérateur
  • Si le nom du champ contient un mark(") de devis ou à une apostrophe ('), le message d’erreur suivant s’affiche :
    L’Expression que vous avez entré a une chaîne non valide.
    Une chaîne peut être jusqu'à 2048 caractères, y compris l’ouverture et de fermeture entre guillemets.
  • Si le nom du champ contient un signe dièse (#), vous recevez le message d’erreur suivant :
    L’expression entrée a une valeur de date non valide.
  • Si le nom du champ contient un signe de pourcentage (%), un tilde (~), un point-virgule ( ;) ou un crochet ([]), le message d’erreur suivant s’affiche.
    L’Expression que vous avez entrée contient une syntaxe non valide.
    Vous avez omis un opérande ou un opérateur, vous avez entré un caractère non valide ou une virgule, ou vous avez entré du texte sans le placer entre guillemets.
  • Si le nom du champ contient une accolade ({}), le message d’erreur suivant s’affiche.
    GUID incorrect dans l’expression de requête 'nom_objet'
  • Si le nom du champ contient un crochet ouvrant ([]) ou des parenthèses (()), le message d’erreur suivant s’affiche :
    L’expression entrée manque un parenthèse fermante, un crochet ([]) ou vertical bar(|).

Problème 3

Vous avez une requête qui contient des expressions de requête. Les expressions de requête sont des champs qui contiennent des caractères spéciaux. Lorsque vous exécutez la requête, vous sont promus pour entrer une valeur de paramètre. En règle générale, ce problème se produit lorsque vous utilisez les caractères spéciaux suivants :
  • Signe supérieur à (>)
  • Inférieur à (<) de connexion
  • Point (.)
  • Astérisque (*)
  • signe deux-points (:)
  • Signe insertion (^)
  • Signe plus (+)
  • La barre oblique inverse (\)
  • Signe égal (=)
  • « Et » commercial (&)
  • Oblique (/)

Solution de contournement


Pour contourner ce problème, n’utilisez pas de caractères spéciaux. Si vous devez utiliser des caractères spéciaux dans les expressions de la requête, placez les caractères spéciaux de crochets ([]). Par exemple, si vous souhaitez utiliser le signe supérieur à (>), utilisez [>].

Plus d'informations


Microsoft Access ne limite pas l’utilisation de caractères spéciaux tels qu’un signe dièse (#), un point (.) ou un guillemet (") dans les noms des objets de base de données ou dans les noms de champ de base de données. Toutefois, si vous n’utilisez pas les caractères spéciaux, vous pouvez rencontrer des erreurs inattendues. Par conséquent, Microsoft vous recommande de ne pas utiliser les caractères spéciaux dans les noms des objets de base de données dans la base de données Access ou le projet de base de données. Cet article présente les caractères spéciaux que vous devez éviter en raison de problèmes connus avec ces caractères spéciaux.

Lorsque vous travaillez avec Access ou une autre application comme une application Microsoft Visual Basic ou d’une application Active Server Pages (ASP), vous devez éviter les caractères spéciaux suivants :
Espace
Apostrophe'
Guillemet"
Apostrophe'
Arobase@
Accent grave`
Signe dièse#
Pourcent%
Signe supérieur à>
Signe inférieur à<
Point d’exclamation!
Période.
Crochets[ ]
Astérisque*
Symbole dollar$
Point-virgule;
Signe deux-points:
Point d’interrogation?
Signe insertion^
Accolades{ }
Signe plus+
Trait d’union-
Signe égal=
Tilde~
Barre oblique inverse\

Conventions d’affectation de noms d’accès

Microsoft vous recommande de ne pas utiliser un point (.), un point d’exclamation ( !), un accent grave ('), un crochet ([]), un espace () ou guillemet (") dans les noms de fonctions, les noms de variables, les noms de champs ou les noms des objets de base de données, tels que du tableau es et des formulaires.

Il existe des problèmes qui se produisent si vous utilisez les caractères spéciaux suivants dans Access connus. Les scénarios suivants décrivent lorsque vous ne devez pas utiliser les caractères spéciaux :
  • Lorsque vous exportez les objets de base de données vers d’autres formats de fichier comme un format de fichier Microsoft Excel, un format de fichier HTML ou un format de fichier texte, n’utilisez pas un signe dièse (#) ou un point (.) dans les noms des objets de base de données ou dans les noms de champ.

    Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

    308686 des caractères spéciaux dans les noms de champ sont modifiés lorsque vous exportez une table vers un autre format de fichier dans Access 2000

  • Lorsque vous utilisez des liens hypertexte dans Access, les liens hypertexte sont stockés en tant que champs d’avoir modifié avec un signe dièse (#) comme délimiteur. Par conséquent, le signe dièse est considéré comme un mot réservé dans Access. Lorsque vous créez des liens hypertexte, n’utilisez pas le signe dièse.

    Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

    162855 ne peut pas le lien hypertexte pour les documents qui ont « # » dans le nom dans Access 97

  • Lorsque vous importez un fichier texte dans Access et ce fichier texte contient les onglets ou autres caractères spéciaux, les caractères spéciaux sont convertis et les caractères spéciaux apparaissent ensuite sous forme de cases. Par conséquent, lorsque vous essayez d’utiliser la table importée, vous recevez des erreurs inattendues. Vous ne devez pas utiliser les caractères spéciaux dans la table source lorsque vous importez dans Access.

    Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

    Exemple de fonction 210433 de remplacer ou de supprimer des caractères spéciaux dans une MDB dans Access 2000

  • Lorsque vous utilisez des formulaires ASP pour ajouter ou modifier des données dans une base de données Access, vous devez utiliser pas un signe insertion (^), un signe plus (+) ou un signe de pourcentage (%) dans le formulaire. Ces caractères spéciaux ne peuvent pas traduire correctement dans la base de données Access.

    Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

    163334 l’utilisation de %, en plus et les symboles de signe insertion de formulaires ASP dans Access 97

  • Lorsque vous utilisez les langues pleine chasse, n’utilisez pas les caractères à pleine chasse dans le nom des objets de base de données ou le nom de contrôles. Par exemple, vous ne devez pas utiliser les parenthèses pleine chasse lorsque vous utilisez des langues pleine chasse que cela peut provoquer des erreurs de compilation si code dans une procédure d’événement pour l’objet ou du contrôle.