Recebe uma mensagem de erro ao executar uma consulta no Microsoft Access devido a um número árabe de byte duplo

Sintomas

No Microsoft Access 2010, Microsoft Access 2007 ou no Microsoft Office Access 2003, tem um dos seguintes sintomas:

Sintoma 1

Recebe uma mensagem de erro quando executa uma consulta com um nome de campo que começa com um número árabe de byte duplo. Por exemplo, se o nome do campo contiver dois ou mais carateres, como " PMonth", receberá a seguinte mensagem de erro:

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

Se o nome do campo contiver apenas um caráter, como "1", receberá a seguinte mensagem de erro:

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. 

Sintoma 2

Utilize uma tabela que contém alguns campos cujos nomes começam com números árabes de byte duplo. Em seguida, vai criar uma consulta para selecionar todos os dados para os nomes de campos que começam com números árabes de byte duplo. Quando executa esta consulta, recebe a seguinte mensagem de erro:

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

Nota O marcador de posição TableName representa o nome da tabela que está a consultar. O marcador de posição FieldName representa o nome do campo que está a consultar.

Nota Este problema também pode ocorrer para objetos que não tabelas.

Resolução

Para resolver o problema descrito no Sintoma 1, veja Resolução 1.

Para resolver o problema descrito no Sintoma 2, veja Resolução 2.

Resolução 1

Para resolver este problema, coloque o nome do campo entre parênteses retos de byte único ([ ]). Por exemplo, altere o nome do campo de 1 Mês para [1 Mês].

Resolução 2

Para resolver este problema, utilize um dos seguintes métodos:

Método 1:

  1. Altere os nomes de campos que comecem com números árabes de byte duplo para que não utilizem números árabes de byte duplo.
  2. Crie e, em seguida, guarde uma nova consulta.

Método 2:

  1. Crie uma nova consulta baseada na tabela. Atribua o nome Query1 à nova consulta.

  2. Crie um campo com o nome TableName.* para a consulta.

    Nota Não adicione outros campos exceto TableName.*.

  3. Guarde a nova consulta.

  4. Utilize a nova consulta para selecionar os campos pretendidos.

Mais Informações

Passos para reproduzir o problema

  1. No Access, crie uma tabela.
  2. Defina um campo com um nome que comece com um número árabe de byte duplo.
  3. Crie uma consulta que se refira ao campo na tabela.
  4. Execute a consulta.