Crear una consulta de paso a través

Se aplica a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Puede usar Access como una aplicación front-end y, después, crear vínculos a 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, en función de la sintaxis SQL y otros factores. Para obtener más información, vea "Motor de base de datos JET versión 3.0: conectividad ODBC" en Rediscovered JET y notas del producto ODBC.

Sin embargo, a menudo desea ejecutar explícitamente una consulta en un servidor de bases de datos. Esto se hace para ayudar a mejorar el rendimiento: los servidores de bases de datos tienen mayor potencia 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 bases de datos, utilice una consulta de paso a través que es una instrucción Transact SQL (TSQL) que se conecta a SQL Server mediante una cadena de conexión ODBC. Por ejemplo, puede pasar una instrucción SELECT para devolver datos a una hoja de datos, formulario, informe o control de lista, ejecutar el equivalente de consultas de acción (instrucciones de lenguaje de manipulación de datos [DML])), llamar a procedimientos almacenados y realizar tareas administrativas (instrucciones de lenguaje de definición de datos [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 indexada. Para obtener más información, consulte Crear vistas indexadas.

  1. Conéctese a una base de datos de servidor.
    Para obtener más información acerca de la vinculación a SQL Server, consulte Importar o vincular a datos en una base de datos de SQL Server y Vincular a datos o importar datos desde una base de datos de Azure SQL Server.
  2. Seleccione Crear>diseño de consulta.
  3. Si es necesario, cierre el cuadro de diálogo Agregar tablas (Mostrar tabla en Access.
  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 consulta no aparece, presione F4 para mostrarla.
  6. En la hoja de propiedades, haga clic en el cuadro de propiedad ODBC Connect Str y, a continuación, realice una de las siguientes acciones:

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, después, seleccione Editar.
  3. En el cuadro de diálogo Editar vínculo , copie el texto del cuadro Cadena de conexión .
  1. Escriba la consulta en la vista SQL.
    Nota: Hay diferencias importantes entre Access SQL y SQL Server TSQL, especialmente con la sintaxis, los nombres de función y los argumentos de función. Para más información, vea Comparar Access SQL con SQL Server TSQL.
    Propina Primero genere la consulta TSQL en SQL Server Management Studio y, después, copie y pegue el archivo SQL en SQL View. Esto garantiza que la consulta tenga la sintaxis correcta. Si no tiene acceso conveniente a una base de datos de SQL Server, considere la posibilidad de instalar Microsoft SQL Server Express Edition en su escritorio, que admite hasta 10 GB y es una manera gratuita y más fácil de ejecutar y comprobar la migración.

  2. Considere la posibilidad de establecer propiedades relacionadas adicionales:

    • Devuelvan registros Algunas instrucciones SQL devuelven registros, como SELECT, y otras no, como UPDATE. Si la consulta devuelve registros, establezca esta propiedad en Sí; 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 hoja de datos, formulario, informe o variable de 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 ejemplo siguiente:

      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, en consecuencia, los números se anexan a los nombres de tabla locales. 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 de ODBC Especifique el número de segundos que se esperarán antes de que se produzca un error de tiempo de espera cuando se ejecute una consulta. El valor predeterminado es 60 segundos. Puede haber retrasos debido al tráfico de red o al uso intensivo del servidor de la base de datos.

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

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

Consulte también

Referencia de Transact-SQL

Consultar con Transact-SQL