AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / ¿Cómo proceder? / Programación
  • Método 1: Controles Tabla relacionados por la propiedad Filter
  • Creación del primer control Tabla
  • Creación del segundo control Tabla
  • Establecer la relación entre los controles Tabla
  • Uso de consultas
  • Crear una consulta
  • Creación del segundo control Tabla
  • Establecer la relación entre los controles Tabla
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Se denominan Tablas en cascada a dos controles Tabla cuyo contenido está relacionado. Por ejemplo:
  • Mostrar familias de productos en un control Tabla.
  • Para cada familia seleccionada en el control Tabla, mostrar los productos que le pertenecen en un segundo control Tabla.
Esta página de ayuda explica cómo crear Tablas en cascada.:
Método 1: Controles Tabla relacionados por la propiedad Filter
La propiedad Filter en un control Tabla permite filtrar el contenido del control con respecto a un valor. Este valor se verifica teniendo en cuenta el campo de búsqueda definido para el control Tabla. El filtro se aplica en el segundo control Tabla. El código de selección de filas activa el filtro.
En este ejemplo, los clientes del archivo de datos CUSTOMER se mostrarán en el control Tabla principal. El segundo control Tabla contendrá los pedidos del cliente seleccionado en el primer control Tabla.
Los pasos para crear estos 2 controles en cascada son los siguientes:
  1. Creación del primer control Tabla.
  2. Creación del segundo control Tabla.
  3. Relación entre los dos controles Tabla.

Creación del primer control Tabla

  1. Cree una ventana si es necesario.
  2. En la cinta de opciones, en la pestaña "Creación", en el grupo "Datos", despliegue "Tabla y List Box" y seleccione "Tabla (Vertical)".
    Opción de la cinta
    Haga clic en la ubicación en la que desea crear el control.
  3. El asistente de creación del control Tabla se abre.
  4. Seleccione la opción "Mostrar datos de un archivo o una consulta existente".
    Asistente de creación del control Tabla
    Pase a la etapa siguiente del asistente.
  5. Seleccione el archivo asociado al control Tabla. En nuestro ejemplo, el archivo CUSTOMER.
    Selección de archivos de datos

    Pase a la etapa siguiente del asistente.
  6. Seleccione los campos que se mostrarán en el control Tabla. En nuestro ejemplo, los campos CustomerName, Company, ZipCode y City.
    Selección de campos

    Pase a la etapa siguiente del asistente.
  7. Seleccione la clave de búsqueda. En nuestro ejemplo, el campo CustomerNum.
    Selección de la clave de búsqueda

    Pase a la etapa siguiente del asistente.
  8. Dado que las otras etapas no son necesarias para nuestro ejemplo, puede salir del asistente.
  9. Valide. El control Tabla se crea automáticamente en la ventana.
    Opción de la cinta
  10. Cambie la altura del control con los controladores de tamaño.

Creación del segundo control Tabla

El segundo control Tabla se creará de la misma manera.
  1. En la cinta de opciones, en la pestaña "Creación", en el grupo "Datos", despliegue "Tabla y List Box" y seleccione "Tabla (Vertical)".
    Opción de la cinta
    Haga clic en la ubicación en la que desea crear el segundo control Tabla (debajo del primero).
  2. El asistente de creación del control Tabla se abre.
  3. Seleccione la opción "Mostrar datos de un archivo o una consulta existente".
    Asistente de creación del control Tabla
    Pase a la etapa siguiente del asistente.
  4. Seleccione el archivo asociado al control Tabla. En nuestro ejemplo, el archivo de datos CUSTOMER.
    Selección de archivos de datos

    Pase a la etapa siguiente del asistente.
  5. Seleccione los campos que se mostrarán en el control Tabla. En nuestro ejemplo, vamos a seleccionar los campos OrderNum, OrderDate, TotalBT y TotalIOT.
    Selección de campos

    Pase a la etapa siguiente del asistente.
  6. Seleccione la clave de búsqueda. Atención, la clave de búsqueda debe ser el campo que establece la relación con el primer control Tabla. En nuestro ejemplo, este campo es CustomerNum.
    Selección de la clave de búsqueda

    Pase a la etapa siguiente del asistente.
  7. Dado que las otras etapas no son necesarias para nuestro ejemplo, puede salir del asistente.
  8. Valide. El control Tabla se crea automáticamente en la ventana.
    Ventana con los controles Tabla

Establecer la relación entre los controles Tabla

Para establecer la relación entre los controles Tabla, es necesario:
  1. Asegurarse de que el primer control Tabla devuelva el valor que se utilizará para filtrar el segundo control Tabla. Esto se puede definir en la descripción del control Tabla (pestaña "Contenido", opción "Campo almacenado"). En nuestro ejemplo, el campo almacenado será CustomerNum.
    • Abra la descripción del primer control Tabla (opción "Descripción de la tabla" del menú contextual del control).
    • En la pestaña "Contenido", seleccione el campo que desea almacenar (opción "Campo almacenado"). En nuestro ejemplo, esta opción corresponde al campo CustomerNum:
      Pestaña
    • Valide la ventana.
  2. Habilitar el filtro en el segundo control Tabla con la propiedad Filter.
    • Seleccione el primer control Tabla y abra los eventos del control (tecla F2).
    • Vaya al evento "Selección de una fila" en el control Tabla e introduzca el siguiente código:
      SecondTableName.Filter = FirstTableName
      En nuestro ejemplo, el código correspondiente es:
      Código de selección de filas
Los dos controles Tabla están relacionados. Pruebe la ventana (haga clic en GO en los botones de acceso rápido). Seleccione un cliente en el primer control Tabla. El resultado aparece inmediatamente.
Prueba de los controles Tabla en cascada
Uso de consultas
Este método utiliza una consulta para crear y filtrar los registros del segundo control Tabla.
En este ejemplo, los clientes del archivo de datos CUSTOMER se mostrarán en el control Tabla principal. El segundo control Tabla contendrá los pedidos del cliente seleccionado en el primer control Tabla.
Los pasos para crear estas 2 tablas en cascada son los siguientes:
  1. Creación del primer control Tabla (este paso es igual al del primer método).
  2. Creación de una consulta con filtro para seleccionar los registros que corresponden a la fila seleccionada en el primer control Tabla. Esta consulta se utilizará como fuente para el segundo control Tabla.
  3. Creación del segundo control Tabla.
  4. Relación entre los dos controles Tabla.

Creación del primer control Tabla

  1. Cree una ventana si es necesario.
  2. En la cinta de opciones, en la pestaña "Creación", en el grupo "Datos", despliegue "Tabla y List Box" y seleccione "Tabla (Vertical)".
    Opción de la cinta
    Haga clic en la ubicación en la que desea crear el control.
  3. El asistente de creación del control Tabla se abre.
  4. Seleccione la opción "Mostrar datos de un archivo o una consulta existente".
    Asistente de creación del control Tabla
    Pase a la etapa siguiente del asistente.
  5. Seleccione el archivo asociado al control Tabla. En nuestro ejemplo, el archivo CUSTOMER.
    Selección de archivos de datos

    Pase a la etapa siguiente del asistente.
  6. Seleccione los campos que se mostrarán en el control Tabla. En nuestro ejemplo, los campos CustomerName, Company, ZipCode y City.
    Selección de campos

    Pase a la etapa siguiente del asistente.
  7. Seleccione la clave de búsqueda. En nuestro ejemplo, el campo CustomerNum.
    Selección de la clave de búsqueda

    Pase a la etapa siguiente del asistente.
  8. Dado que las otras etapas no son necesarias para nuestro ejemplo, puede salir del asistente.
  9. Valide. El control Tabla se crea automáticamente en la ventana.
    Opción de la cinta
  10. Cambie la altura del control con los controladores de tamaño.

Crear una consulta

Los pasos para crear una consulta SQL con filtro son los siguientes:
  1. Haga clic en Nuevo en los botones de acceso rápido.
    • En la ventana que se muestra, haga clic en "Consultas".
    • El asistente de creación de consultas se abre.
  2. Seleccione crear una consulta de selección (opción "Selección (SELECT)").
    Asistente de creación de consultas

    Pase a la etapa siguiente del asistente.
  3. La ventana de descripción de la consulta se abre.
  4. Defina un nombre y un título para la consulta:
    Nombre y título de la consulta
  5. En la sección izquierda de la ventana de descripción, seleccione los campos del archivo de datos que se utilizarán (en nuestro ejemplo, el archivo ORDER y los campos CustomerNum, OrderNum, OrderDate, TotalBT y TotalIOT).
  6. Haga doble clic en los nombres de los campos para agregarlos a la lista de campos de la consulta:
    Selección de campos
  7. Para aplicar el filtro (selección), seleccione el campo CustomerNum en la sección central y luego, en la sección derecha del editor, haga clic en "Condición de selección".
    Condición de selección
  8. En el menú que aparece, seleccione "Nueva condición...".
  9. En la ventana que aparece:
    • Seleccione la operación ("es igual a" en nuestro ejemplo).
    • Seleccione "Parámetro" para poder pasar un valor seleccionado en el primer control Tabla a la consulta.
      Características de la condición de selección
  10. Valide. La ventana de descripción de la consulta se actualiza:
    Descripción de la consulta
  11. Valide la ventana de descripción de la consulta. La consulta se muestra en el editor:
    Vista de la consulta en el editor
  12. Guardar la consulta (Ctrl + S).

Creación del segundo control Tabla

Para crear el segundo control Tabla:
  1. Cree una ventana si es necesario.
  2. En la cinta de opciones, en la pestaña "Creación", en el grupo "Datos", despliegue "Tabla y List Box" y seleccione "Tabla (Vertical)".
    Opción de la cinta
    Haga clic en la ubicación en la que desea crear el control.
  3. El asistente de creación del control Tabla se abre.
  4. Seleccione la opción "Mostrar datos de un archivo o una consulta existente".
    Asistente de creación del control Tabla
    Pase a la etapa siguiente del asistente.
  5. Seleccione la consulta creada anteriormente para asociarla al control Tabla. En nuestro ejemplo, la consulta QRY_CustomerOrder.
    Asistente de creación de tablas

    Pase a la etapa siguiente del asistente.
  6. Seleccione los campos que se mostrarán en la tabla. En nuestro ejemplo, los campos OrderNum, OrderDate, TotalBT y TotalIOT están seleccionados.
    Asistente de creación de tablas

    Pase a la etapa siguiente del asistente.
  7. Dado que las otras etapas no son necesarias para nuestro ejemplo, puede salir del asistente.
  8. Valide. El segundo control Tabla se crea automáticamente.
    Ventana con los dos controles Tabla

Establecer la relación entre los controles Tabla

Para establecer la relación entre los controles Tabla, es necesario:
  1. Asegúrese de que el primer control Tabla devuelva el valor que se utilizará para filtrar el contenido de la consulta. Esto se puede definir en la descripción del control Tabla (pestaña "Contenido", opción "Campo almacenado"). En nuestro ejemplo, el campo almacenado será CustomerNum.
    • Abra la descripción del primer control Tabla (opción "Descripción de la tabla" del menú contextual del control).
    • En la pestaña "Contenido", seleccione el campo que desea almacenar (opción "Campo almacenado"). En nuestro ejemplo, esta opción corresponde al campo CustomerNum:
      Pestaña
    • Valide la ventana.
  2. Inicializar el parámetro de la consulta utilizada por el segundo control Tabla.
    • Seleccione el primer control Tabla y abra los eventos del control (tecla F2).
    • Vaya al evento "Selección de una fila de..." para introducir el siguiente código:
      QueryName..ParameterName = FirstTableName
      HExecuteQuery(QueryName)
      TableDisplay(SecondTableName)
      En nuestro ejemplo, el código correspondiente es:
      Código de selección de filas
Los dos controles Tabla están relacionados. Pruebe la ventana (haga clic en GO en los botones de acceso rápido). Seleccione un cliente en la primera tabla. El resultado aparece inmediatamente.
Prueba de los controles Tabla en cascada
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 06/04/2023

Señalar un error o enviar una sugerencia | Ayuda local