Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article répertorie les caractères spéciaux à éviter d’utiliser lorsque vous utilisez les noms d’objets de base de données ou les noms de champs dans toutes les versions d’Access.
Numéro de base de connaissances d’origine : 826763
Remarque
Cet article s’applique à un fichier de base de données Microsoft Access (.mdb) ou à un fichier de base de données Microsoft Access (.accdb) et à un fichier de projet Microsoft Access (.adp).
Symptômes
Lorsque vous utilisez des caractères spéciaux dans Access, vous rencontrez l’un des problèmes suivants.
Problème 1
Vous utilisez l’un des caractères spéciaux suivants dans le nom d’un champ de table :
- Accent grave (')
- Point d’exclamation ( !)
- Période (.)
- bracket([])
- Espace de début
- Caractères non imprimables
Dans ce cas, vous recevez le message d’erreur suivant :
Le nom du champ n’est pas valide.
Assurez-vous que le nom ne contient pas de point (.), de point d’exclamation (!), de crochet ([]), d’espace en début ou de caractère non imprimable tel qu'un retour à la ligne. Si vous avez collé le nom depuis une autre application, essayez d’appuyer sur la touche Échap et de taper à nouveau le nom.
Si vous utilisez ces caractères spéciaux dans un nom de table, vous recevez le message d’erreur suivant :
Le nom d’objet « TableName » que vous avez entré ne suit pas les règles de nommage d’objet Microsoft Office Access.
Problème 2
Vous créez une expression de requête. L’expression de requête inclut des champs qui contiennent des caractères spéciaux. Selon les caractères spéciaux spécifiques, vous recevez l’un des messages d’erreur suivants :
Si le nom du champ contient un espace, un point d'interrogation (?) ou une 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 opérateurSi le nom du champ contient un guillemet(") ou une apostrophe('), vous recevez le message d’erreur suivant :
L’expression que vous avez entrée a une chaîne non valide.
Une chaîne peut comporter jusqu’à 2048 caractères, y compris des guillemets ouvrants et fermants.Si le nom du champ contient un signe numérique (#), vous recevez le message d’erreur suivant :
L’expression que vous avez entrée a une valeur de date non valide.
Si le nom du champ contient un signe de pourcentage (%), un point-virgule (~), un point-virgule (;) ou un crochet ([]), vous recevez le message d’erreur suivant :
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 ou une virgule non valide, ou vous avez entré du texte sans l’entourer entre guillemets.Si le nom du champ contient une accolade ({}), vous recevez le message d’erreur suivant :
GUID mal formé dans l’expression de requête 'ObjectName'
Si le nom du champ contient un crochet ([]) ou une parenthèse (()), vous recevez le message d’erreur suivant :
L’expression que vous avez entrée ne contient pas de parenthèse fermante, de crochet (]) ou de barre verticale(|).
Problème 3
Vous avez une requête qui contient des expressions de requête. Les expressions de requête incluent des champs qui contiennent des caractères spéciaux. Lorsque vous exécutez la requête, vous êtes invité à saisir 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 :
- Supérieur au signe (>)
- Inférieur au signe (<)
- Période (.)
- Astérisque (*)
- Deux-points (:)
- Caret (^)
- Signe plus (+)
- Barre oblique inverse (\)
- Signe égal (=)
- L'ampersand (&)
- Marque oblique (/)
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 requête, placez les caractères spéciaux entre 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 numérique (#), un point (.) ou un guillemet (") dans les noms d’objets de base de données ou dans les noms de champs de base de données. Toutefois, si vous utilisez 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 d’objets de base de données dans la base de données Access ou dans le projet de base de données. Cet article décrit 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 avec une autre application telle qu’une application Microsoft Visual Basic ou une application ASP (Active Server Pages), vous devez éviter les caractères spéciaux suivants :
Nom | Symbole |
---|---|
Espace | |
Apostrophe | ' |
Guillemet | "" |
Apostrophe | ' |
Arobase | @ |
Accent grave | ` |
Signe dièse | # |
Pourcentage | % |
Supérieur au signe | > |
Inférieur au signe | < |
Point d’exclamation | ! |
Période | . |
Parenthèses | [ ] |
Astérisque | * |
Symbole dollar | $ |
Point-virgule | ; |
Deux points | : |
Point d’interrogation | ? |
Caret | ^ |
Bretelles | { } |
Signe plus | + |
Tiret | - |
Signe égal | = |
Tilde | ~ |
Barre oblique inverse | | |
Conventions d’affectation de noms d’accès
Microsoft vous recommande de ne pas utiliser de point (.), un point d’exclamation ( !), un accent grave ('), un crochet ([ ]), un espace ( ) ou un guillemet (") dans les noms de fonctions, les noms de variables, les noms de champs ou les noms d’objets de base de données tels que les tables et les formulaires.
Des problèmes connus se produisent si vous utilisez les caractères spéciaux suivants dans Access. Les scénarios suivants décrivent quand 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 tels qu’un format de fichier Microsoft Excel, un format de fichier HTML ou un format de fichier texte, n’utilisez pas de signe numérique (#) ou de point (.) dans les noms d’objets de base de données ou dans les noms de champs.
- Lorsque vous utilisez des liens hypertexte dans Access, les liens hypertexte sont stockés en tant que champs mémo modifiés avec un signe numérique (#) en tant que délimiteur. Par conséquent, le signe numérique est considéré comme un mot réservé dans Access. N’utilisez pas le signe numérique lorsque vous créez des liens hypertexte.
- Lorsque vous importez un fichier texte dans Access et que ce fichier texte contient des onglets ou d’autres caractères spéciaux, les caractères spéciaux sont convertis, puis les caractères spéciaux apparaissent sous forme de zones. 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.
- Lorsque vous utilisez des formulaires ASP pour ajouter ou modifier des données dans une base de données Access, vous ne devez pas utiliser de signe de pourcentage (%), un signe plus (+) ou un point (^) dans le formulaire. Ces caractères spéciaux peuvent ne pas se traduire correctement dans la base de données Access.
- Lorsque vous utilisez des langages de largeur totale, n’utilisez pas de caractères de largeur totale dans le nom des objets de base de données ou dans le nom des contrôles. Par exemple, vous ne devez pas utiliser de parenthèses pleine largeur lorsque vous utilisez des langages de pleine largeur, cela peut entraîner des erreurs de compilation s’il existe du code dans une procédure événementielle pour l’objet ou pour le contrôle.