Crear una consulta de paso a través

Crear una consulta de paso a través

Puede usar Access como una aplicación front-end y, después, vincular tablas en un servidor back-end, como SQL Server. De forma predeterminada, la mayoría de las consultas se ejecutan localmente en el motor de base de datos ACE de Access. En algunos casos, Access puede ejecutar una consulta de forma remota en SQL Server, según la sintaxis SQL y otros factores. Para obtener más información, consulte "motor de base de datos JET versión 3,0: conectividad ODBC" en las notas del producto jet y ODBC Rediscovered.

Aunque a menudo desea ejecutar una consulta en un servidor de base de datos de forma explícita. Esto le permite mejorar el rendimiento: los servidores de bases de datos tienen una mayor capacidad de procesamiento que un equipo de escritorio y puede devolver un subconjunto más pequeño de datos a través de la conexión de red. Para ejecutar una consulta en un servidor de base de datos, use una consulta de paso a través que sea una instrucción Transact SQL (TSQL) que se conecte a SQL Server mediante una cadena de conexión ODBC. Por ejemplo, puede pasar una instrucción SELECT para devolver datos a un control de hoja de datos, formulario, informe o lista, ejecutar el equivalente de consultas de acción (instrucciones DML), llamar a procedimientos almacenados y realizar tareas administrativas (definición de datos Instrucciones de lenguaje (DDL)).

Nota    Los resultados de una consulta de paso a través son de solo lectura. Para editar directamente los datos de una hoja de datos o formulario, cree una tabla vinculada a una vista indizada. Para obtener más información, consulte crear vistas indizadas.

  1. Conectarse a una base de datos de servidor.

    Para obtener más información sobre cómo vincular a SQL Server, vea importar o vincular a datos en una base de datos de SQL Server y vincular o importar datos desde una base de datos de Azure SQL Server.

  2. Seleccione Crear > Diseño de consulta.

  3. Cierre el cuadro de diálogo Mostrar tabla.

  4. Seleccione diseñar >paso a través.

    Access oculta la cuadrícula de diseño de la consulta y muestra la vista SQL.

  5. Si la hoja de propiedades de la consulta no aparece, presione F4 para mostrarla.

  6. En la hoja de propiedades, haga clic en el cuadro de la propiedad ODBC Connect Str y, a continuación, siga uno de estos procedimientos:

    Para obtener una cadena de conexión:

    1. En el panel de navegación, haga clic con el botón derecho en una tabla vinculada al origen de datos deseado y seleccione Administrador de tablas vinculadas.

    2. En el cuadro de diálogo Administrador de tablas vinculadas , seleccione la casilla del origen de datos y, a continuación, seleccione Editar.

    3. En el cuadro de diálogo editar vínculo , copie el texto del cuadro cadena de conexión .

    1. Seleccione generar Botón Generador .

    2. Siga las indicaciones para crear un archivo DSN que contenga la información de la cadena de conexión. Para conocer los pasos detallados, vea importar o vincular a datos en una base de datos de SQL Server y vincular o importar datos desde una base de datos de SQL Server de Azure.

    Después de crear una conexión de archivo DSN, la cadena de conexión ODBC se almacena internamente en la base de datos de Access. Este es un truco para obtener una copia de esa cadena:

    1. Ubique un nombre de tabla vinculada en el panel de navegación con la conexión ODBC que desee.

    2. Presione Ctrl + G. para abrir la ventana inmediato de VBA.

    3. Entrar: el siguiente código:

      ?CurrentDb.TableDefs("<table name>").Connect

      Pero sustituya <nombre de la tabla> el nombre de la tabla vinculada del paso a.

    4. Copie la cadena devuelta en la propiedad ODBC Connect Str .

  7. Escriba la consulta en la vista SQL.

    Nota   Existen importantes diferencias entre Access SQL y TSQL de SQL Server, especialmente con la sintaxis, los nombres de función y los argumentos de las funciones. Para obtener más información, vea comparación de Access SQL con SQL Server TSQL.

    Sugerencia    Cree la consulta de TSQL en primer lugar en SQL Server Management Studio y, después, copie y pegue la instrucción SQL en la vista SQL. Esto garantiza que la sintaxis de la consulta sea correcta. Si no tiene acceso cómodo a una base de datos de SQL Server, considere la posibilidad de instalar Microsoft SQL Server Express Edition en el escritorio, que admite hasta 10 GB y es una forma gratuita y más fácil de realizar y comprobar la migración.

  8. Considere configurar propiedades adicionales relacionadas:

    • Devuelvan registros     Algunas instrucciones SQL devuelven registros, como SELECT, y otros no, como UPDATE. Si la consulta devuelve registros, establezca esta propiedad en ; Si la consulta no devuelve registros, establezca esta propiedad en no.

      Nota    Las consultas de paso a través pueden devolver varios conjuntos de resultados, pero en una variable de hoja de un formulario, informe o conjunto de registros, solo se usa el primer conjunto de resultados. Para recuperar varios conjuntos de resultados, use una consulta de creación de tabla como se muestra en el siguiente ejemplo:

      SELECT <pass-through query name>.*
      INTO <local table name>
      FROM < pass-through query name >

      Debe usar el asterisco (*) porque cada conjunto de resultados puede tener columnas diferentes. Cada conjunto de resultados se guarda en una tabla independiente y los números se anexan a los nombres de la tabla local según corresponda. Por ejemplo, si se devuelven tres conjuntos de resultados, los nombres de tabla serían: <nombre de tabla local>, <nombre de tabla local>1, <nombre de tabla local>2.

    • Mensajes de registro    Especifique si desea devolver mensajes de la base de datos SQL en una tabla de mensajes de Access. El nombre de la tabla tiene el formato "nombre de usuario" – NN, donde "nombre de usuario" es el nombre de inicio de sesión del usuario actual, y NN es un número que comienza en 00.

    • Tiempo de espera ODBC    Especifique el número de segundos que se debe esperar antes de que se produzca un error de tiempo de espera cuando se ejecuta una consulta. El valor predeterminado es 60 segundos. Puede haber demoras debido al tráfico de red o al uso intensivo del servidor de base de datos.

    • Número máximo de registros    Especificar el número máximo de registros que se van a devolver. Es posible que haya limitado los recursos del sistema o que desee probar los resultados con una pequeña cantidad de datos.

  9. Cuando termine de escribir la consulta, seleccione diseño > Ejecutar. La consulta se envía al servidor de la base de datos para su procesamiento.

Nota:  Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido le resulte útil. ¿Podría decirnos si la información le resultó útil? Aquí puede consultar el artículo en inglés.

Vea también

referencia de Transact-SQL

con Transact-SQL

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×