Vous recevez un message d’erreur lorsque vous exécutez une requête dans Microsoft Access en raison d’un nombre arabe codé sur deux octets

Symptômes

Dans Microsoft Access 2010, Microsoft Access 2007 ou microsoft Office Access 2003, vous rencontrez l’un des symptômes suivants :

Symptôme 1

Vous recevez un message d’erreur lorsque vous exécutez une requête dont le nom de champ commence par un nombre arabe codé sur deux octets. Par exemple, si le nom du champ contient deux caractères ou plus, tels que « PMonth », vous recevez le message d’erreur suivant :

Syntax error in query expression ' Table Name .�PMonth': Missing operator.  

Si le nom du champ ne contient qu’un seul caractère, tel que « 1 », le message d’erreur suivant s’affiche :

Invalid use of '.', '!', or '()' in query expression ' Table Name. '. NoteIn Access 2003, this issue only occurs when you run the query on a Windows Vista-based computer. 

Symptôme 2

Vous utilisez une table qui contient des champs dont les noms commencent par des nombres arabes codés sur deux octets. Ensuite, vous créez une requête pour sélectionner toutes les données pour les noms de champs qui commencent par des nombres arabes codés sur deux octets. Lorsque vous exécutez cette requête, vous recevez le message d’erreur suivant :

Syntax error (missing operator) in query expression 'TableName.FieldName'.

NoteL’espace réservé TableName représente le nom de la table que vous interrogez. L’espace réservé FieldName représente le nom du champ que vous interrogez.

Note Ce problème peut également se produire pour des objets autres que des tables.

Résolution

Pour résoudre le problème décrit dans symptôme 1, consultez Résolution 1.

Pour résoudre le problème décrit dans symptôme 2, consultez Résolution 2.

Résolution 1

Pour résoudre ce problème, placez le nom du champ entre crochets codés sur un octet ([ ]). Par exemple, remplacez le nom du champ 1Month par [1 Month].

Résolution 2

Pour résoudre ce problème, appliquez l’une des méthodes suivantes :

Méthode 1

  1. Modifiez les noms de champs commençant par des nombres arabes codés sur deux octets afin qu’ils n’utilisent pas de nombres arabes codés sur deux octets.
  2. Créez, puis enregistrez une nouvelle requête.

Méthode 2

  1. Créez une requête basée sur la table. Nommez la nouvelle requête Query1.

  2. Créez un champ nommé TableName.* dans la requête.

    Note N’ajoutez pas d’autres champs à l’exception de TableName.*.

  3. Enregistrez la nouvelle requête.

  4. Utilisez la nouvelle requête pour sélectionner les champs souhaités.

Informations supplémentaires

Procédure pour reproduire le problème

  1. Dans Access, créez une table.
  2. Définissez un champ à l’aide d’un nom qui commence par un nombre arabe codé sur deux octets.
  3. Créez une requête qui fait référence au champ dans la table.
  4. Exécutez la requête.