Compartir a través de


Abrir múltiples instancias de una vista

Puede abrir múltiples instancias de una vista en áreas de trabajo distintas, del mismo modo que puede abrir una tabla en más de un área de trabajo. A diferencia de las tablas, las vistas buscan un nuevo conjunto de datos predeterminado cada vez que usted las utiliza.

Para abrir una vista en múltiples áreas de trabajo

  • En el Administrador de proyectos, elija el nombre de la vista y después Examinar, para mostrar la vista en una ventana Examinar. Repita este proceso para abrir la vista en áreas de trabajo adicionales.

    –O bien–

  • En la ventana Sesión de datos, elija Abrir y el nombre de la vista. Repita este proceso para abrir la vista en áreas de trabajo adicionales.

    –O bien–

  • Tenga acceso a la vista mediante programación con el comando USE.

Cuando tiene acceso a la vista mediante programación con el comando USE, puede elegir abrir otra instancia de la vista sin necesidad de volver a consultar el origen de datos. Esto resulta especialmente útil cuando quiere abrir una vista remota en múltiples áreas de trabajo sin esperar a que los datos se descarguen desde un origen de datos remoto.

Para usar una vista de nuevo sin descargar datos

  • Utilice la cláusula NOREQUERY con el comando USE.

    –O bien–

  • Utilice la cláusula AGAIN con el comando USE.

El código siguiente utiliza la cláusula NOREQUERY para mostrar el cursor obtenido de la primera instancia de product_remote_view en dos ventanas Examinar sin volver a consultar el origen de datos remoto:

OPEN DATABASE testdata
CREATE SQL VIEW product_remote_view ;
   CONNECTION remote_01 ;
   AS SELECT * FROM products
USE product_remote_view
BROWSE
SELECT 0
USE product_remote_view NOREQUERY
BROWSE

Puede especificar un número de sesión mediante la cláusula NOREQUERY. Si no especifica un número de sesión, Visual FoxPro buscará en todas las sesiones. Si se encuentra un conjunto de resultados ya abierto para la vista, se volverá a abrir un cursor con el mismo conjunto de resultados. Si no se encuentra un conjunto de resultados ya abierto, se obtendrá un nuevo conjunto para la vista. Del mismo modo que en las tablas, si no se encuentra la vista se abrirá un nuevo cursor de vista.

Si desea que Visual FoxPro busque sólo en la sesión actual un conjunto de resultados abierto para su vista, puede utilizar la cláusula AGAIN. El código siguiente muestra product_remote_view en dos ventanas Examinar:

OPEN DATABASE testdata
USE product_remote_view
BROWSE
USE product_remote_view AGAIN in 0
BROWSE

Cuando utilice la cláusula AGAIN, Visual FoxPro buscará un cursor de vista existente en la sesión actual y abrirá un alias adicional que apunta a este cursor de vista. Abrir otra instancia de una vista con la cláusula AGAIN equivale a ejecutar USE con la cláusula NOREQUERY y el número de sesión actual.

Vea también

Limitar el alcance de una vista | Mostrar la estructura de una vista | Crear consultas | Administrador de proyectos | Actualizar datos en una vista