|
|
|
|
- Presentación
- Usando una consulta con parámetros en una Tabla
- Usando una consulta con parámetros en un reporte
- Principio
- Ejemplo
- Utilizar una consulta con parámetros mediante programación
- Principio
- Ejemplo
- Consejo
- Ejemplo
Uso de una consulta con parámetros
Se puede utilizar una consulta con parámetros: - Como fuente de datos de control (Tabla, Cuadro de Listas, Combo Box, Looper, etc.).
- Como fuente de datos de reporte.
- Mediante programación.
Usando una consulta con parámetros en una Tabla Cuando una control Tabla de navegación está vinculada a una consulta con parámetros (independientes o incrustados), los parámetros deben pasarse a la consulta antes de que se ejecute. Si estos parámetros no se especifican antes de la primera ejecución de la consulta, ésta no se ejecutará y control Tabla permanecerá vacía. Para pasar parámetros a la consulta, puede utilizar: - la siguiente notación:
<Query Name>.<Name of Parameter1> = xxx <Query Name>.<Name of Parameter2> = xxx <Query Name>.<Name of Parameter3> = xxx HExecuteQuery(<Query Name>) En este caso, la consulta se ejecuta automáticamente al inicializar la control Tabla. - HExecuteQuery especificando los parámetros en la función.
Caso especial: los parámetros de la consulta pueden ser directamente inicializados en el código de inicialización de control. En este caso, no es necesario utilizar HExecuteQuery para calcular el resultado de la consulta.. La sintaxis será: MySource.<Name of Parameter1> = xxx MySource.<Name of Parameter2> = xxx MySource.<Name of Parameter3> = xxx Usando una consulta con parámetros en un reporte Principio Para utilizar una reporte basada en una consulta con parámetros, la consulta debe ejecutarse antes de abrir la ventana de diálogo reporte. La consulta puede ser realizada por iInitReportQuery. Esta función se utiliza para ejecutar la consulta y para especificar los parámetros de la misma.. Se puede llamar a esta función: - en el código de inicialización de reporte,
- ante iPrintReport.
Ejemplo El Formulario WIN_CustomerForm se utiliza para navegar por las características de los clientes. Para cada cliente, el usuario puede hacer clic en el botón BTN_PrintOrder para imprimir el RPT_CustomerOrdReport reporte. Esta reporte es associated con la consulta QRY_CustomerOrd que selecciona los pedidos de un cliente determinado. El siguiente código se utiliza para ejecutar la consulta QRY_CustomerOrd según el cliente actual e imprimir el reporte: // -- Click process of BTN_PrintOrder button // Run the query according to the current customer iInitReportQuery(RPT_CustomerOrderReport, CustomerNum) // Print the report iPrintReport(RPT_CustomerOrdReport)
Utilizar una consulta con parámetros mediante programación Principio Cuando se ejecuta la consulta con parámetros a través de la programación, se pueden pasar los parámetros: Ejemplo Para visualizar la lista de los pedidos realizados en 2018: // Execute query HExecuteQuery(QRY_ParamOrder, hQueryDefault, 2018) // Similar code: // QRY_ParamOrder.Year = 2018 // HExecuteQuery(QRY_ParamOrder, hQueryDefault)
Cuando un parámetro de la consulta se inicializa con el valor NULL, la condición associated con este parámetro se ignora al ejecutar la consulta. Para más información: Si el valor del parámetro proviene de un control Campo de entrada, la opción "Devolver NULL si está vacío" (pestaña "Detalles" de la descripción del control) permite asignar directamente el valor NULL si el control está vacío. Ejemplo La ejecución del código SQL es: SELECT NameOfItems
FROM NameOfFiles
WHERE Item = {Param1} Para este ejemplo, la tabla a continuación describe el uso de "NULL if empty": | | | Valor introducido por el usuario | Opción"NULL if empty" (NULL si está vacío) | Ejecución de código SQL |
---|
Ningún valor | Opción seleccionada | SELECCIONE Nombres de los artículos FROM NameOfFiles
| Ningún valor | Opción no seleccionada | SELECCIONE Nombres de los artículos FROM NameOfFiles DONDE EL Ítem = ' ' '
| Se introduce un valor | Opción marcada o no marcada | SELECCIONE Nombres de los artículos FROM NameOfFiles DÓNDE Elemento = 'ValueEntered' (valor ingresado)
|
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|