Mensaje de error al usar caracteres especiales en bases de datos de Access

En este artículo se enumeran los caracteres especiales que se deben evitar al trabajar con los nombres de objetos de base de datos o los nombres de campos en todas las versiones de Access.

Número KB original: 826763

Nota:

Este artículo se aplica a archivos de base de datos de Microsoft Access (.mdb o .accdb), o de proyecto de Microsoft Access (.adp).

Síntomas

Cuando se usan caracteres especiales en Access, se produce uno de los siguientes problemas.

Problema 1

Usa uno de los siguientes caracteres especiales en el nombre de un campo de tabla:

  • Acento grave (`)
  • Signo de exclamación (!)
  • Punto (.)
  • Corchete ([])
  • Espacio inicial
  • Caracteres no imprimibles

En este caso, aparece el siguiente mensaje de error:

El nombre del campo personalizado no es válido.
Asegúrese de que el nombre no contiene un punto (.), signo de exclamación (!), corchete ([]), espacio inicial o carácter no imprimible, por ejemplo un retorno de carro. Si ha pegado el nombre de otra aplicación, intente presionar ESC y escribirlo de nuevo.

Si usa estos caracteres especiales en un nombre de tabla, recibe el siguiente mensaje de error:

El nombre de objeto TableName especificado no sigue las reglas de nomenclatura de objetos de Microsoft Office Access.

Problema 2

Crea una expresión de consulta. Esta incluye campos que contienen caracteres especiales. En función de los caracteres especiales específicos, recibe uno de los siguientes mensajes de error:

  • Si el nombre del campo contiene un carácter de espacio, un signo de interrogación (?) o un signo de arroba (@), recibe el siguiente mensaje de error:

    La expresión que ha especificado tiene una sintaxis no válida.
    Es posible que haya especificado un operando sin un operador

  • Si el nombre del campo contiene una comilla (") o un apóstrofo ('), recibe el siguiente mensaje de error:

    La expresión especificada tiene una cadena no válida.
    Una cadena puede tener hasta 2048 caracteres, incluidas las comillas de apertura y cierre.

  • Si el nombre del campo contiene un signo de número (#), recibe el siguiente mensaje de error:

    La expresión especificada tiene un valor de fecha no válido.

  • Si el nombre del campo contiene un signo de porcentaje (%), una tilde de la ñ (~), un punto y coma (;) o un corchete ([]), recibe el siguiente mensaje de error:

    La expresión que ha especificado tiene una sintaxis no válida.
    Omitió un operando o un operador, escribió un carácter o una coma no válidos, o escribió texto sin encerrarlo en comillas.

  • Si el nombre del campo contiene una llave ({}), recibe el siguiente mensaje de error:

    GUID con formato incorrecto en la expresión de consulta ObjectName

  • Si el nombre del campo contiene un corchete ([]) o paréntesis (()), recibe el siguiente mensaje de error:

    A la expresión especificada le falta un paréntesis de cierre, un corchete (]) o una barra vertical (|).

Problema 3

Tiene una consulta que contiene expresiones de consulta. Las expresiones de consulta incluyen campos que contienen caracteres especiales. Al ejecutar la consulta, se le pide escribir un valor de parámetro. Normalmente, este problema se produce cuando se usan los siguientes caracteres especiales:

  • Signo mayor que (>)
  • Signo menor que (<)
  • Punto (.)
  • Asterisco (*)
  • Dos puntos (:)
  • Acento circunflejo (^)
  • Signo más (+)
  • Barra invertida (\)
  • Signo igual (=)
  • Ampersand (&)
  • Barra diagonal (/)

Solución alternativa

Para solucionar este problema, no use caracteres especiales. Si debe usar caracteres especiales en expresiones de consulta, inclúyalos entre corchetes ([]). Por ejemplo, si desea usar el signo mayor que (>), use [>].

Más información

Microsoft Access no restringe el uso de caracteres especiales, como un signo de número (#), un punto (.) o una comilla (") en los nombres de objeto de base de datos o en los de campo de base de datos. Sin embargo, si emplea caracteres especiales, puede experimentar errores inesperados. Por lo tanto, Microsoft recomienda no usar caracteres especiales en los nombres de objeto de base de datos en la base de datos de Access o en el proyecto de base de datos. En este artículo se describen los caracteres especiales que debe evitar a causa de problemas conocidos con ellos.

Al trabajar con Access o con alguna otra aplicación, como una de Microsoft Visual Basic o de páginas Active Server (ASP), debe evitar los siguientes caracteres especiales:

Nombre Símbolo
Espacio
Apóstrofo '
Comillas "
Apóstrofo '
Arroba @
Acento grave `
Signo de número #
Porcentaje %
Signo de mayor que >
Signo de menor que <
Signo de exclamación !
Period .
Corchetes [ ]
Asterisco *
signo de dólar $
Punto y coma ;
Dos puntos :
Signo de interrogación ?
Acento circunflejo ^
Llaves { }
Signo más +
Guion -
Signo igual =
Tilde de la eñe ~
Barra diagonal inversa |

Convenciones de nomenclatura de Access

Microsoft recomienda no usar puntos (.), signos de exclamación (!), acentos graves ('), corchetes ([ ]), espacios ( ) o comillas (") dentro de los nombres de las funciones, las variables, los campos o los objetos de base de datos, como tablas y formularios.

Hay problemas conocidos que se producen si usa los siguientes caracteres especiales en Access. En estos escenarios, se describe cuándo no se deben usar los caracteres especiales:

  • Al exportar los objetos de base de datos a otros formatos de archivo, como un formato de archivo Microsoft Excel, HTML o texto, no utilice signos de número (#) o puntos (.) en los nombres de objeto de base de datos o de campo.
  • Cuando se usan hipervínculos en Access, estos se almacenan como campos Memo modificados con un signo de número (#) como delimitador. Por lo tanto, el signo de número se considera una palabra reservada en Access. No emplee el signo de número al crear hipervínculos.
  • Al importar un archivo de texto en Access, si contiene pestañas u otros caracteres especiales, los caracteres especiales se convierten y aparecen como cuadros. Por lo tanto, al intentar usar la tabla importada, recibe errores inesperados. No debe usar los caracteres especiales de la tabla de origen al importar a Access.
  • Cuando se usan formularios ASP para añadir o modificar datos en una base de datos de Access, no debe usar signos de porcentaje (%), signos más (+) o acentos circunflejos (^) en el formulario. Estos caracteres especiales pueden no traducirse correctamente en la base de datos de Access.
  • Cuando use lenguajes de ancho completo, no use caracteres de ancho completo en el nombre de los objetos de base de datos ni en el de los controles. Por ejemplo, no debe usar paréntesis de ancho completo cuando se usan lenguajes de ancho completo. Esto puede provocar errores de compilación si hay código en un procedimiento de evento para el objeto o para el control.