AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / ¿Cómo proceder? / Editor de consultas
  • Consulta SQL con una selección de registros de archivos
  • Consultas SQL con filtro a través de la programación
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
Para filtrar (o seleccionar) los registros procedentes de un archivo de datos, tiene la posibilidad de realizar un bucle de exploración y de utilizar HFilter.
El mejor método para realizar este filtro (o selección) consiste en utilizar una consulta SQL.
Veamos cómo realizar un filtro usando:
Consulta SQL con una selección de registros de archivos
Esta consulta se utiliza para seleccionar los registros de fichero correspondientes a una condición de selección..
En este ejemplo, queremos seleccionar los registros cuya ciudad es igual a un parámetro específico del archivo CLIENTE.
Los pasos para crear esta 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. Dar un nombre y una leyenda a la consulta:
    Nombre y título de la consulta
  5. En la sección izquierda de la ventana de description, elija los elementos del archivo que se utilizarán (en nuestro ejemplo, el archivo CLIENTE y los elementos Nombre del cliente, Empresa y Ciudad).
  6. Haga doble clic en los nombres de los elementos para añadirlos a la lista de elementos de consulta:
    Selección de artículos
  7. Para aplicar el filtro (selección), haga clic en "Condición de selección" en la sección derecha del editor.
    Condición de selección
  8. Haga clic en "Nueva condición...".
  9. En la ventana que aparece:
    • Seleccione la operación ("es igual" en nuestro ejemplo).
    • Seleccione "Parámetro" para poder pasar el valor escrito por el usuario a la consulta.
    • Dar un nombre al parámetro.
      Características de la condición de selección
  10. Validar. La ventana de consulta description se actualiza:
    Descripción de la consulta
  11. Valide la ventana de descripción de la consulta. La consulta se muestra en el editor:
    Visualización de la consulta en el editor
  12. Guardar la consulta (Ctrl + S).
  13. Presione F2 para ver el código SQL:
    Código SQL de la consulta
  14. Ejecutar la prueba de consulta (GO en los botones de acceso rápido).
  15. La consulta puede ser ejecutada en el programa por HExecuteQuery. Los parámetros esperados se deben inicializar en el código.
  16. Ejemplo de llamada desde un clic de botón:
    QRY_Filter.ParamCity = "Paris"
    HExecuteQuery(QRY_Filter)
Consultas SQL con filtro a través de la programación
Las consultas SQL pueden escribirse directamente mediante programación en el código WLanguage. Para ello, es necesario:
  1. Crear una Variable de tipo Fuente de datos para representar la consulta en tiempo de ejecución.
  2. Crear una cadena de caracteres Variable para contener el código SQL de la consulta y escribir el código SQL en este Variable.
  3. Ejecute la consulta SQL con HExecuteSQLQuery.
  4. Explore el resultado con las funciones HReadXXX.
Ejemplo de código:
Src1 is Data Source
sSQLCode is string
 
// Select the products whose price is greater than ...
sSQLCode = [
SELECT PRODUCT.Reference AS Reference,
PRODUCT.ProdCap AS ProdCap,
PRODUCT.Pricebt AS Pricebt
FROM PRODUCT
WHERE PRODUCT.Pricebt > %1
]
 
cyPrice is currency
cyPrice = EDT_PRICE // value coming from an edit control
 
sSQLCode = StringBuild(sSQLCode, cyPrice)
 
HExecuteSQLQuery(Src1, hQueryDefault, sSQLCode)
FOR EACH Src1
Trace(Src1.Reference , Src1.ProdCap, Src1.Pricebt)
 
END
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: 27/05/2022

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