AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

¡Nueva funcionalidad de WINDEV 2024!
Ayuda / Tutorial WINDEV / Tutorial - Aplicación WINDEV: gestionar datos
  • Lección 3 - Búsqueda con varios criterios
  • Presentación
  • Crear una consulta para buscar pedidos
  • Crear una consulta de selección
  • Prueba de la consulta
  • Definir los parámetros de la consulta
  • Primer parámetro: "Estado del pedido"
  • Segundo parámetro: "Método de pago"
  • Último parámetro: "Fecha del pedido"
  • Prueba de la consulta con parámetros
  • Editar la UI para agregar una búsqueda con varios criterios
  • Crear los controles para definir los criterios y mostrar el resultado
  • Crear un control Tabla
  • Primer parámetro: Estado del pedido
  • Segundo parámetro: Método de pago
  • Último parámetro: Fecha del pedido
  • En resumen

Tutorial - Aplicación WINDEV: gestionar datos

Lección 3 - Búsqueda con varios criterios
Abordaremos los siguientes temas:
  • Crear una consulta con parámetros.
  • Crear la interfaz para seleccionar los criterios de búsqueda.
  • Pasar parámetros a una consulta.
  • Mostrar el resultado de una consulta en un control Tabla.
Durée de la leçon 40 min
Presentación
En la lección anterior, vimos cómo realizar una búsqueda con un solo criterio (el nombre del cliente). En esta lección, permitiremos a los usuarios realizar una búsqueda con varios criterios.
En nuestro ejemplo, esta búsqueda se realizará en el archivo de datos "Order". El usuario podrá seleccionar:
  • el estado del pedido,
  • el método de pago,
  • las fechas de los pedidos tenidos en cuenta.
La UI de la ventana "WIN_Menu" es la siguiente:
Interfaz de WIN_Menu
Esta IU incluye:
  • controles para seleccionar los criterios de búsqueda.
  • un control Botón para iniciar la búsqueda.
  • un control Tabla para mostrar el resultado de la búsqueda. Este control Tabla se basa en una consulta. La consulta permitirá seleccionar los registros que se mostrarán. El control Tabla mostrará el resultado de la búsqueda.
Advertencia
En esta lección, utilizaremos el ejemplo que desarrollamos en las lecciones anteriores.
Crear una consulta para buscar pedidos

Crear una consulta de selección

La primera etapa consiste en crear la consulta de selección de registros.
¿Qué es una consulta de selección?
Una consulta de selección es una consulta que "elegirá" solo los registros que corresponden a los criterios especificados.
Este tipo de consulta se llama Select debido al comando SELECT de SQL.
Para crear una consulta de selección, utilizaremos el editor de consultas.
  1. Haga clic en Crear un elemento en los botones de acceso rápido. La ventana de creación de nuevos elementos se abre: haga clic en "Consulta­". El asistente de creación de consultas se abre.
  2. Elija la opción "Selección (SELECT)".
    Esta consulta nos permitirá seleccionar los registros. Pase a la etapa siguiente.
  3. La ventana de descripción de la consulta se abre. Para construir la consulta, vamos a seleccionar los elementos que se mostrarán en el resultado.
  4. Haga doble clic en los campos del análisis, a la izquierda de la ventana de descripción. Los campos que se tienen en cuenta se muestran en el centro de la pantalla.
    Observación: Para que se muestren los campos de los archivos de datos, haga clic en la flecha Flecha que se encuentra a la izquierda del nombre del archivo de datos.
    Vamos a mostrar:
    • la información sobre el pedido. Despliegue el archivo de datos "Order" (haga clic en la flecha Flecha) y enseguida, haga doble clic en los campos: OrderID, Date, Status y TotalBT.
    • la información sobre el cliente que hizo el pedido. Despliegue el archivo de datos "Customer" (haga clic en la flecha Flecha) y enseguida, haga doble clic en el campo "FullName".
    • el método de pago. Despliegue el archivo de datos "PaymentMethod" (haga clic en la flecha Flecha) y enseguida, haga doble clic en el campo "Caption".
    La ventana de descripción de la consulta es la siguiente:
    Descripción de la consulta
  5. Los datos se ordenarán por fecha.
    • En la lista de elementos de la consulta, seleccione el campo "Order.Date", luego haga clic en el botón "Ordenar" y seleccione "Ordenar según el campo seleccionado".
    • En la ventana que aparece, seleccione la dirección de orden ascendente.
      Agregar un orden
    • Valide.
  6. A la derecha de "Order.Date" aparece una flecha azul con el número 01. Esta flecha indica que se ha definido un orden ascendente en el campo. El número "01" indica que este orden se aplicará primero.
    Orden en la ventana de descripción de la consulta
  7. Indique un nombre para la consulta: en "Nombre de la consulta", cambie "QRY_SinNombre1" por "QRY_FindOrders":
    Nombre de la consulta
  8. Valide la ventana de descripción de la consulta (botón "OK").
  9. La ventana para guardar el elemento se abre. Valide la información predeterminada.
  10. La representación gráfica de la consulta aparece en el editor:
    Representación gráfica

Prueba de la consulta

Como todos los elementos de un proyecto WINDEV, puede probar directamente la consulta que acabamos de crear:
  1. Haga clic en Probar un elemento.
  2. El resultado se muestra en una ventana:
    Resultado de la consulta
    El resultado muestra TODOS los pedidos.
    En nuestro caso, solo mostraremos los pedidos que coincidan con los criterios de búsqueda. Para ello, debemos utilizar una consulta con parámetros.
    Haga clic derecho en la tabla que muestra el resultado de la consulta para abrir el menú contextual. Puede exportar el resultado a:
    • un archivo XLSX (Excel).
    • un archivo de Word u OpenOffice.
    • un archivo XML (eXtensible Markup Language).
    • un archivo HFSQL.
  3. Cierre la ventana.
Definir los parámetros de la consulta
En nuestro ejemplo, el usuario podrá seleccionar un valor para los siguientes criterios de búsqueda:
  • Estado del pedido.
  • Método de pago del pedido.
  • Fecha del pedido.
Tenemos que modificar la consulta para que estos criterios de búsqueda coincidan con los parámetros de la consulta.
Para definir los parámetros de la consulta, abra la ventana de descripción de la consulta: haga doble clic en el fondo del editor de consultas (o seleccione "Descripción de la consulta" en el menú contextual).

Primer parámetro: "Estado del pedido"

Para gestionar el parámetro "estado del pedido":
  1. Seleccione el campo Order.Status en el centro de la pantalla.
  2. Haga clic en el botón "Condición de selección" y seleccione "Nueva condición".
  3. En la ventana que aparece, vamos a especificar que la condición de selección corresponde a un parámetro:
    • Seleccione "Es igual a".
    • Seleccione "el parámetro".
    • El nombre del parámetro se propone automáticamente: "ParamStatus".
      Consulta - Descripción de la condición

      Le recomendamos conservar "Param" como el prefijo de los parámetros de las consultas. Esto le permite encontrarlos fácilmente en el editor de código.
      Para buscar un parámetro de la consulta, escriba 'Param' y la entrada predictiva del editor de código propondrá todos los parámetros.
  4. Valide la ventana de descripción de la condición. El número "1" aparece a la derecha del campo "Order.Status" para indicar que se ha definido una condición de selección.
    Condición en la descripción de la consulta

Segundo parámetro: "Método de pago"

Vamos a definir una condición en el método de pago. Este campo no se encuentra en el resultado de la consulta, pero aún así, definiremos una condición. Para ello, vamos a incluir el campo en el resultado de la consulta, pero haremos que no se muestre en el resultado.
  1. En la parte izquierda de la ventana de descripción de la consulta, en el archivo de datos "Order", haga doble clic en el campo "PaymentMethodID". El campo "PaymentMethodID" se muestra en la lista de elementos de la consulta.
  2. Para que no se muestre este campo en el resultado:
    • Haga clic en Visualización del campo a la derecha del campo.
    • En el menú que aparece, seleccione "No mostrar".
  3. Para definir una condición de selección en el campo "Order.PaymentMethodID":
    • Seleccione el campo "Order.PaymentMethodID" (en el centro de la pantalla).
    • Haga clic en el botón "Condición de selección" y seleccione "Nueva condición".
    • En la ventana que aparece, especifique que la condición de selección corresponde a un parámetro:
      • Seleccione "Es igual a".
      • Seleccione "el parámetro".
      • Introduzca el nombre de parámetro: "ParamPaymentMethodID".
  4. Valide la condición de selección.
    Definición de la condición de selección

Último parámetro: "Fecha del pedido"

La última condición de selección que vamos a definir corresponde a la fecha del pedido. Esta fecha debe estar entre dos fechas introducidas por el usuario.
  1. En la lista de elementos de la consulta, seleccione el campo "Order.Date".
  2. Haga clic en el botón "Entre dos fechas...". Este botón permite definir una condición de selección.
  3. En la ventana que aparece:
    • Defina la condición de selección "Está comprendido entre".
    • Haga clic en "el parámetro".
    • Introduzca el nombre de parámetro: "ParamStartOfPeriod".
    • Haga clic en el segundo "el parámetro".
    • Introduzca el nombre de parámetro: "ParamEndOfPeriod".
  4. Valide la condición de selección.
  5. Valide la ventana de descripción de la consulta. El gráfico de la consulta se actualiza y tiene en cuenta las nuevas condiciones de selección.
    Representación gráfica de la consulta
  6. Guarde la consulta haciendo clic en Guardar un elemento en los botones de acceso rápido.

Prueba de la consulta con parámetros

Para probar la consulta con parámetros:
  1. Haga clic en Probar consulta.
  2. Enseguida, se abre una ventana que permite escribir los parámetros de la consulta.
  3. Defina los siguientes datos:
    • Deseleccione el parámetro ParamStatus.
    • Seleccione el parámetro ParamPaymentMethodID. En la parte inferior de la pantalla, introduzca "1".
    • Seleccione el parámetro ParamStartOfPeriod. En la parte inferior de la ventana, introduzca "01/01/2023".
    • Seleccione el parámetro ParamEndOfPeriod. En la parte inferior de la ventana, introduzca "03/31/2023".
      Parámetros de la consulta
  4. Valide la ventana. El resultado de la consulta que corresponde a los parámetros especificados se abre.
  5. Cierre la ventana.
Vamos a crear una UI para introducir los parámetros de la consulta, ejecutarla y mostrar el resultado.
Editar la UI para agregar una búsqueda con varios criterios
Vamos a agregar una pestaña a la ventana "WIN_Menu" para que se muestre el resultado de la búsqueda de varios criterios.
Para agregar una pestaña:
  1. Abra la ventana "WIN_Menu" en el editor.
  2. Seleccione el control Pestaña.
  3. Abra la ventana de descripción del control (seleccione "Descripción" en el menú contextual).
  4. En la pestaña "General" de la ventana de descripción, haga clic en "Nuevo". Una nueva pestaña aparece en la lista de pestañas.
  5. Haga clic en "Pestaña 3".
  6. En la sección "Descripción de una pestaña estática", introduzca: "Find orders".
    Descripción del control Pestaña
  7. Vamos a asociar una imagen a la pestaña utilizando el catálogo de imágenes de WINDEV. Haga clic en Mostrar opciones de imagen a la derecha de "Imagen". Seleccione "Catálogo" en el menú contextual que aparece. La ventana del catálogo de imágenes se abre.
  8. Escriba "Search" en la barra de búsqueda. Haga clic en la lupa para iniciar la búsqueda.
  9. Entre las imágenes propuestas, seleccione el ícono que representa los binoculares (Binoculares) y valide.
  10. Conserve las opciones predeterminadas en los ajustes de la imagen y valide.
  11. Valide la ventana de descripción del control Pestaña.
    Control Pestaña en el editor
Crear los controles para definir los criterios y mostrar el resultado
Vamos a mostrar el resultado de nuestra búsqueda multicriterio.
Crearemos un control Tabla basado en la consulta, y luego crearemos los diferentes controles que permitan al usuario seleccionar los criterios de búsqueda.

Crear un control Tabla

Para crear el control Tabla que mostrará el resultado de la búsqueda:
  1. En la ventana "WIN_Menu", haga clic en la pestaña "Find orders". El panel de pestañas aparece vacío.
  2. Cree un control Tabla: en la pestaña "Creación", en el grupo "Datos", despliegue "Tabla y List Box" y seleccione "Tabla (Vertical)".
  3. Haga clic en el panel de pestañas seleccionado anteriormente: el asistente de creación del control Tabla se abre.
  4. El control Tabla se basará en la consulta "QRY_FindOrders" (creada anteriormente). Seleccione la opción "Mostrar datos de un archivo o una consulta existente". Pase a la etapa siguiente del asistente.
  5. Seleccione la consulta que se utilizará como fuente de datos para el control Tabla:
    • Si es necesario, despliegue el grupo "Consultas".
    • Seleccione la consulta "QRY_FindOrders".
      Asistente de creación del control Tabla
    • Pase a la etapa siguiente del asistente.
  6. Seleccione todos los campos propuestos, si es necesario.
    Campos a mostrar
  7. Pase a la etapa siguiente del asistente.
  8. Conserve las opciones predeterminadas de las etapas del asistente y valide la creación del control Tabla.
  9. El control Tabla se crea automáticamente en la pestaña "Find orders" del control Pestaña.
  10. Si es necesario, cambie la posición del control Tabla para que se muestre por completo en el panel de pestañas.
    Ventana en el editor
Para una mejor legibilidad, cambiaremos el texto de las columnas en el control Tabla.
  1. Abra la descripción del control Tabla (haga doble clic en el control).
    La ventana de descripción del control Tabla está compuesta por dos partes:
    • la parte superior, que contiene el nombre del control, así como el nombre y tipo de las columnas.
    • la parte inferior, que contiene las diferentes pestañas de descripción.
    Si hace clic en el nombre del control Tabla, la parte inferior muestra las características de la tabla.
    Si hace clic en una columna, la parte inferior muestra las características de las columnas.
  2. Haga clic en la columna "COL_OrderID". El título de la columna se muestra en la parte inferior de la ventana. Reemplace "Order ID" por "ID".
    Títulos de las columnas
  3. Haga clic en la columna "COL_FullName". Reemplace "Full name" por "Customer".
    Títulos de las columnas
  4. Haga clic en la columna "COL_Caption". Reemplace "Caption" por "Payment mode".
    Títulos de las columnas
  5. Valide la ventana de descripción del control Tabla. Estos cambios se aplican automáticamente al control.
  6. Amplíe las columnas "Date" y "Status" del control Tabla con los controladores de tamaño.
  7. Reduzca las columnas "ID" y "Payment mode" para que todas las columnas se muestren en el control Tabla.
  8. Guarde la ventana haciendo clic en Guardar un elemento en los botones de acceso rápido. Vamos a comprobar el tamaño de las columnas ejecutando la ventana.
Live Data y controles basados en consultas
Los datos en tiempo real no se muestran en los controles que utilizan una consulta como fuente de datos por el siguiente motivo: Los datos que se muestran dependen del resultado de la consulta y solo pueden obtenerse en tiempo de ejecución.
Vamos a hacer una primera prueba de esta ventana:
  1. Haga clic en Probar ventana en los botones de acceso rápido.
  2. Haga clic en la pestaña "Find orders". Solo se muestran algunos pedidos, como durante la última prueba de la consulta realizada en el editor, cuando especificamos los parámetros en la ventana de prueba de la consulta.
    Prueba de la ventana
  3. Cierre la ventana de prueba para volver al editor.
Veamos los eventos WLanguage asociados al control Tabla:
  1. Seleccione el control Tabla.
  2. Haga clic derecho para abrir el menú contextual y seleccione "Código".
  3. El evento "Inicialización de TABLE_QRY_FindOrders" contiene el siguiente código:
    // Parameters of 'QRY_FindOrders' query
    //MySource.ParamStatus = <Value of ParamStatus>
    MySource.ParamPaymentMethodID = "1"
    MySource.ParamStartOfPeriod = "20230101"
    MySource.ParamEndOfPeriod = "20230331"
    Los parámetros de prueba se obtuvieron como parámetros predeterminados para la ejecución. Modificaremos la ventana para permitir que los usuarios introduzcan los parámetros mediante controles.
  4. Cierre el editor de código (haga clic en la "X" de la esquina superior derecha).
Vamos a crear los controles que permitirán a los usuarios seleccionar los parámetros de la consulta. Estos controles se ubicarán arriba del control Tabla.

Si es necesario, desplace el control Tabla en la ventana y reduzca su altura para tener espacio disponible para crear los diferentes controles.

Primer parámetro: Estado del pedido

Un pedido puede tener tres estados:
  • waiting for payment,
  • paid,
  • canceled.
En nuestro análisis, el estado del pedido se guarda en el campo "Status" del archivo de datos "Order". Este campo es de tipo Botón de opción.
Para que el usuario pueda seleccionar uno de estos tres estados, utilizaremos un control Botón de opción enlazado al campo "Status" del archivo de datos "Order".
Los botones de opción permiten elegir solo una opción.
Para crear el control Botón de opción:
  1. Abra el panel "Análisis" si es necesario: en la pestaña "Inicio", en el grupo "Entorno", despliegue "Paneles", seleccione "Paneles" y, a continuación, haga clic en "Análisis". Los archivos de datos descritos en el análisis "WD Full Application" se muestran en el panel.
  2. Haga clic en el ícono Flecha a la izquierda del archivo de datos "Order": los campos del archivo de datos aparecen.
  3. Seleccione el campo "Status" en el archivo de datos Order, luego arrástrelo y suéltelo en la ventana "WIN_Menu".
  4. El control Botón de opción se crea automáticamente. Ubique el control arriba del control Tabla.
De forma predeterminada, el control Botón de opción solo muestra las opciones disponibles. En nuestro caso, mostraremos el título del Botón de opción. Para ello, seleccione un estilo en la plantilla del proyecto que permita mostrar el texto del control. Para cambiar este estilo:
  1. Seleccione el control Botón de opción si es necesario.
  2. Haga clic derecho para abrir el menú contextual y elija "Seleccionar un estilo".
  3. La ventana que aparece muestra todos los estilos definidos para los controles Botón de opción.
  4. Seleccione el estilo "RADIO_Simple".
  5. Valide. El estilo se aplica inmediatamente al control en el editor.
    Ventana con el control Botón de opción en el editor
Ahora pasaremos el valor seleccionado en el control Botón de opción como parámetro a la consulta:
  1. Abra los eventos WLanguage asociados al control Tabla:
    • Seleccione el control Tabla.
    • Haga clic derecho para abrir el menú contextual y seleccione "Código".
  2. En el evento de inicialización del control Tabla, reemplace la siguiente línea:
    //MySource.ParamStatus = <Value of ParamStatus>
    por el siguiente código WLanguage:
    MySource.ParamStatus = RADIO_Status
    En este código, RADIO_Status corresponde al nombre del control Botón de opción que acabamos de crear. El valor de este control está asociado al parámetro ParamStatus que espera la consulta.
  3. Cierre el editor de código.
Antes de ejecutar la prueba, vamos a crear un control Botón para que se vuelva a mostrar el contenido del control Tabla según el valor seleccionado en el Botón de opción:
  1. Cree un control Botón:
    • en la pestaña "Creación", en el grupo "Controles frecuentes", haga clic en Crear un control Botón.
    • enseguida, haga clic en el panel de pestañas "Find orders", en la parte superior derecha.
  2. Seleccione el control y presione la tecla Entrar. El texto del control se puede editar. Escriba "Find" y presione la tecla Entrar.
  3. Cambie el estilo del control:
    • Haga clic derecho para abrir el menú contextual del control y seleccione "Seleccionar un estilo".
    • En la ventana que aparece, introduzca "BTN_Search" en la barra de búsqueda.
    • El estilo se selecciona automáticamente. Valide.
  4. Cambie el tamaño del control si es necesario.
  5. Abra los eventos WLanguage asociados al control: presione F2.
  6. Introduzca el siguiente código WLanguage en el evento "Clic en...":
    // Refreshes the Table control
    TABLE_QRY_FindOrders.Display(taInit)
    En este código, la constante taInit vuelve a ejecutar el evento de inicialización del control Tabla (evento en el que se pasan los parámetros a la consulta).
  7. Cierre el editor de código.
Vamos a probar el primer parámetro:
  1. Guarde la ventana haciendo clic en Guardar un elemento en los botones de acceso rápido.
  2. Haga clic en Probar ventana en los botones de acceso rápido.
  3. Seleccione la pestaña "Find orders".
  4. Cambie el estado del pedido con el botón de opción y haga clic en "Find". El contenido del control Tabla cambia.
    Prueba de la ventana
  5. Cierre la ventana de pruebas.

Segundo parámetro: Método de pago

Se pueden utilizar varios métodos de pago para un pedido: efectivo, cheques, etc. Los diferentes métodos de pago se almacenan en el archivo de datos "PaymentMethod".
Vamos a crear un control Combo Box basado en este archivo de datos para que el usuario seleccione un método de pago.
El control Combo Box permite mostrar una lista de elementos y seleccionar un elemento de la lista.
A diferencia de un List Box, un control Combo Box no está expandido : el control Combo Box se expande cuando el usuario hace clic en él o cuando se posiciona el cursor en el área de entrada del control.
Para crear un control Combo Box:
  1. En la pestaña "Creación", en el grupo "Controles frecuentes", haga clic en "Combo Box".
  2. Haga clic en la ventana, en la ubicación en la que desea crear el control (por ejemplo, junto al control Botón de opción).
  3. El asistente de creación del control Combo Box se abre.
  4. Seleccione "Mostrar datos de un archivo o una consulta existente" y pase a la etapa siguiente.
  5. Seleccione el archivo de datos "PaymentMethod" y pase a la etapa siguiente.
  6. El campo que se mostrará en el control Combo Box es "Caption". Deseleccione "PaymentMethodID" y seleccione "Caption". Pase a la etapa siguiente.
  7. Seleccione el criterio de ordenación: "Caption". Pase a la etapa siguiente.
  8. Seleccione el valor de retorno "PaymentMethodID". El valor de retorno es importante porque se pasará como parámetro a la consulta. Pase a la etapa siguiente.
  9. Conserve las opciones predeterminadas de las etapas del asistente y valide la creación del control Combo Box.
  10. El control Combo Box se crea automáticamente en la ventana.
Vamos a cambiar algunas características del control Combo Box:
  1. Seleccione el control Combo Box y abra la ventana de descripción (seleccione "Descripción" en el menú contextual).
  2. En la pestaña "General", cambie el título del control: reemplace "PaymentMethod combobox" por "Payment mode".
  3. En la pestaña "Contenido", especifique el valor inicial que muestra el control Combo Box ("Valor inicial" en la parte inferior de la ventana de descripción). En este caso, introduzca "1". Este valor corresponde a un pago en efectivo.
  4. Valide la ventana de descripción del control.
Cambie el estilo del control: para ocupar menos espacio, vamos a seleccionar un estilo que muestre el texto del título arriba del control.
  1. Seleccione el control Combo Box.
  2. Haga clic derecho para abrir el menú contextual y elija "Seleccionar un estilo".
  3. En la ventana que aparece, seleccione el estilo "COMBO_Internal" y valide.
  4. Reduzca el tamaño del control.
Vamos a utilizar el valor seleccionado en el control Combo Box para pasarlo a la consulta como parámetro:
  1. Abra los eventos WLanguage asociados al control Tabla:
    • Seleccione el control Tabla.
    • Haga clic derecho para abrir el menú contextual y seleccione "Código".
  2. En el evento de inicialización del control Tabla, reemplace la siguiente línea:
    MySource.ParamPaymentMethodID = "1"
    por el código:
    MySource.ParamPaymentMethodID = COMBO_PaymentMethod
    En este código, COMBO_PaymentMethod corresponde al nombre del control Combo Box que acabamos de crear. El valor de este control está asociado al parámetro ParamPaymentMethodID que espera la consulta.
  3. Cierre el editor de código.
  4. Guarde la ventana haciendo clic en Guardar un elemento en los botones de acceso rápido.
Vamos a probar los dos primeros parámetros que se pasaron:
  1. Haga clic en Probar ventana en los botones de acceso rápido.
  2. Seleccione la pestaña "Find orders".
  3. Cambie el estado de los pedidos con el control Botón de opción y el método de pago con el control Combo Box, y luego haga clic en "Find". El contenido del control Tabla cambia.
    Prueba de la ventana con selección del estado del pedido y método de pago
  4. Cierre la ventana de pruebas.

Último parámetro: Fecha del pedido

El último parámetro de la consulta corresponde a la fecha de los pedidos que se tienen en cuenta. El usuario debe poder introducir un intervalo de fechas. Para ello, vamos a utilizar un modelo de controles.
Un modelo de controles es una ventana específica que contiene diferentes controles. En esta ventana se pueden incluir todos los tipos de controles. Un modelo de controles es un archivo con extensión "WDT".
La principal ventaja de un modelo de controles es que se puede volver a utilizar. Un modelo de controles se puede reutilizar en cualquier ventana del proyecto.
Además, los modelos de controles se pueden sobrescribir: puede agregar código y mover o editar los controles en la ventana que utiliza el modelo de controles.
Para establecer la fecha del pedido:
  1. En el panel "Explorador de proyectos", despliegue la carpeta "Modelos de controles".
  2. Arrastre el modelo de controles "TPLC_ChoosePeriod" desde el panel "Explorador de proyectos" y suéltelo en la ventana "WIN_Menu" (junto al control "Payment mode").
    Arrastrar y soltar modelo de controles
  3. Seleccione el modelo de controles que acaba de crear y abra su descripción (seleccione "Descripción" en el menú contextual).
  4. En la ventana de descripción, cambie el nombre del modelo de controles. Introduzca "CTPL_ChoosePeriod".
  5. Valide la ventana de descripción.
  6. Reubique y alinee los controles, si es necesario.
Vamos a utilizar las fechas seleccionadas para pasarlas como parámetros a la consulta:
  1. Abra los eventos WLanguage asociados al control Tabla:
    • Seleccione el control Tabla.
    • Haga clic derecho para abrir el menú contextual y seleccione "Código".
  2. En el evento de inicialización del control Tabla, reemplace las siguientes líneas:
    MySource.ParamStartOfPeriod = "20230101"
    MySource.ParamEndOfPeriod = "20230331"
    por:
    MySource.ParamStartOfPeriod = EDT_StartDate
    MySource.ParamEndOfPeriod = EDT_EndDate
    En este código WLanguage, EDT_StartDate y EDT_EndDate corresponden a los nombres de los dos controles Campo de entrada del modelo de controles. Sus valores están asociados a los parámetros ParamStartOfPeriod y ParamEndOfPeriod que espera la consulta.
  3. Cierre el editor de código.
  4. Guarde la ventana haciendo clic en Guardar elemento en los botones de acceso rápido.
Vamos a probar los parámetros que se pasaron:
  1. Haga clic en Probar ventana en los botones de acceso rápido.
  2. Seleccione la pestaña "Find orders".
  3. Defina los parámetros de búsqueda:
    • Estado del pedido,
    • Método de pago,
    • Rango de fechas.
  4. Haga clic en el control "Find". El contenido del control Tabla cambia.
    Prueba de la ventana de búsqueda con varios criterios
  5. Cierre la ventana de pruebas.
En resumen
Proyecto completado
¿Desea comprobar el resultado final de las etapas descritas en este tutorial?
Hay un proyecto completado disponible. Este proyecto contiene las ventanas creadas en esta lección. Para abrir el proyecto completado, vaya a la página de inicio y haga clic en "Tutorial", luego en "Tutorial - WINDEV application: Manage data", haga doble clic en "Full application - Answers".
En esta lección, vimos cómo crear una consulta con parámetros, y cómo crear un control Tabla basado en esa consulta. Además creamos varios controles para que los usuarios introduzcan los valores de búsqueda. En la próxima lección, veremos cómo permitir a los usuarios imprimir documentos que contengan datos de la base de datos.
Lección anteriorTabla de contenidoSiguiente lección
Versión mínima requerida
  • Versión 2024
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 15/12/2023

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