Microsoft Office Online
Iniciar sesión en Mi Office Online (¿Qué es esto?) | Iniciar sesión

 
 
Microsoft Office Access
Buscar
Buscar
 
 
 
 
Advertencia: está viendo esta página con una versión de explorador de Web no compatible. Este sitio Web funciona mejor con Microsoft Internet Explorer 6.0 o posterior, Firefox 1.5 o con Netscape Navigator 8.0 o posterior. Obtener más información acerca de los exploradores admitidos.

Versión imprimibleVersión imprimible Marcar y compartirCompartir
Modo de consulta ANSI SQL (MDB)
 

Nota  La información recogida en este tema sólo se aplicará a bases de datos de Microsoft Access (.mdb).

Es posible que parte del contenido de este tema no pueda aplicarse a algunos idiomas.

Puede crear consultas SQL en uno de los dos modos de consulta SQL ANSI (modo de consulta ANSI SQL: uno de los dos tipos de sintaxis SQL: ANSI-89 SQL (también denominado Microsoft Jet SQL y ANSI SQL), que es la sintaxis Jet SQL tradicional; y ANSI-92 SQL, que tiene palabras reservadas, reglas de sintaxis y caracteres comodín nuevos y diferentes.):

MostrarRazones para utilizar ANSI-92 SQL

Puede que desee utilizar ANSI-92 SQL por los siguientes motivos:

MostrarRazones por las que deberá evitar mezclar consultas creadas mediante distintos modos de consulta ANSI SQL

Los dos modos de consulta ANSI SQL (modo de consulta ANSI SQL: uno de los dos tipos de sintaxis SQL: ANSI-89 SQL (también denominado Microsoft Jet SQL y ANSI SQL), que es la sintaxis Jet SQL tradicional; y ANSI-92 SQL, que tiene palabras reservadas, reglas de sintaxis y caracteres comodín nuevos y diferentes.), ANSI-89 y ANSI-92, no son compatibles. Al crear una base de datos de Microsoft Access (base de datos de Microsoft Access: colección de datos y objetos (como tablas, consultas o formularios), que está relacionada con un tema o propósito concreto. El motor de base de datos Microsoft Jet administra los datos.) deberá decidir el modo de consulta que desea utilizar. Si se mezclaran consultas (consulta: pregunta sobre los datos almacenados en las tablas o solicitud para llevar a cabo una acción en los datos. Una consulta puede unir datos de varias tablas para servir como origen de datos de un formulario, informe o página de acceso a datos.) creadas en los dos modos de consulta se podrían producir errores en tiempo de ejecución o resultados inesperados. El rango de tipos de datos, palabras reservadas y caracteres comodines es distinto en cada modo.

MostrarEjemplo de una consulta con caracteres comodines

Una consulta que utiliza caracteres comodines en una expresión de criterios puede producir resultados distintos en cada modo de consulta. Por ejemplo, si ejecuta:

  • Una consulta ANSI-89 SQL en una base de datos establecida en modo de consulta ANSI-92, como por ejemplo:

    SELECT * FROM Clientes WHERE País Como 'U*'

    Devuelve todos los clientes de un país o región denominado "U*" y no todos los países o regiones que empiecen por la letra "U", puesto que el asterisco (*) no es un carácter comodín en ANSI-92 SQL.

  • Una consulta ANSI-92 SQL en una base de datos establecida en modo de consulta ANSI-89, como por ejemplo:

    SELECT * FROM Clientes WHERE País Como 'U%'

    Devuelve todos los clientes de un país o región denominado "U%" y no todos los países o regiones que empiecen por la letra "U", puesto que el signo de porcentaje (%) no es un carácter comodín en ANSI-89 SQL.

MostrarEjemplo de una consulta con un nombre de alias y de campo replicado

Si una consulta utiliza un alias que es igual que un nombre de columna base y crea un campo calculado usando este nombre ambiguo, la consulta producirá resultados distintos en cada modo de consulta. Por ejemplo, si ejecuta la siguiente consulta:

SELECT Pedidos.IdPedido AS Cargo, Pedidos.Cargo, [Cargo]*1.1 AS [Nuevo cargo] FROM Pedidos;

En ANSI-92 SQL, Access calcula el valor de Nuevo cargo utilizando el campo Cargo y, en consecuencia, aumenta todos los cargos en un 10%. En ANSI-89 SQL, Access calcula el valor de Nuevo cargo utilizando el alias Cargo y, en consecuencia, aumenta todos los IdPedido en un 10%.

MostrarEvitar problemas causados al mezclar consultas con diferentes modos de consulta ANSI SQL en una misma base de datos

Por regla general, procure no realizar las siguientes acciones para evitar problemas provocados al mezclar consultas creadas con distintos modos de consulta ANSI SQL:

  • Convertir una base de datos Access establecida en modo de consulta SQL ANSI-92 del formato de archivo 2002 - 2003 al formato de archivo 2000 o 97. El modo de consulta SQL ANSI-92 sólo es compatible con el formato de archivo 2002 - 2003.
  • Cambiar el modo de consulta ANSI SQL para la base de datos actual después de crear una o más consultas. Si tiene que hacerlo, compruebe de nuevo las consultas existentes para asegurarse de que siguen funcionando y producen los resultados esperados, y vuelva a crearlas si es necesario.
  • Importar consultas creadas con un modo de consulta ANSI SQL en una base de datos Access establecida en otro modo o exportar consultas creadas con un modo de consulta ANSI SQL a una base de datos Access establecida en otro modo.
  • Cambiar el modo de consulta ANSI SQL en una aplicación existente. Podría interrumpir la aplicación y puede que fuera necesario volverla a escribir.

    En Access 2000, sólo se puede cambiar el modo de consulta ANSI SQL mediante la programación y las consultas creadas con el modo ANSI-92 estarán ocultas en la ventana Base de datos (ventana Base de datos: ventana que aparece cuando se abre una base de datos o un proyecto de Access. Muestra métodos abreviados para crear objetos de base de datos nuevos y abrir otros existentes.). En Access 2002 o posterior, un usuario puede cambiar el modo de consulta ANSI SQL a través de la interfaz de usuario y las consultas de ANSI-92 ya no estarán ocultas en la ventana Base de datos, por lo que debe ayudar a evitar cambios accidentales o intencionados en el modo de consulta ANSI SQL de la aplicación ayudando a proteger el código y a evitar el cambio del modo de consulta a través de la interfaz de usuario de la aplicación.

  • Usar alias y nombres de columnas ambiguos. Para evitar cualquier confusión, asegúrese de que los alias y los nombres de columna sean siempre exclusivos en las instrucciones SQL.

MostrarModo de consulta ANSI SQL predeterminado para bases de datos Access nuevas en formatos de archivo 2002 - 2003 y 2000

  • ANSI-89 es el valor predeterminado para las bases de datos Access nuevas en formato de archivo 2002 - 2003 y 2000.
  • No se puede establecer de manera predeterminada el modo de consulta SQL para bases de datos nuevas en ANSI-92 en formato de archivo 2000, puesto que la opción está deshabilitada; ANSI-89 es el único valor de modo de consulta disponible para bases de datos en formato de archivo Access 2000.
publicidad