RE:Insertar busqueda SQL en una ventana...
Puedes utilizar las funciones SyntaxFromSQL y Create para crear una Datawindow dinámicamente.
Te pongo un ejemplo:
Debes insertar en la ventana un control MultiLineEdit (en el ejemplo mle_select) donde capturar la SELECT completa, y un control Datawindow (en el ejemplo dw_datos) donde se va a mostrar el resultado.
Para ver más detalles de la función SyntaxFromSQL, puedes buscarla en la ayuda.
La creación de la SELECT la puedes cambiar para adaptarlo a tus necesidades. En este ejemplo, el usuario debe introducir la SELECT completa en el control mle_select.
Ejemplo:
String ls_errores, ls_select
String ls_presentacion, ls_sintaxis_dw
// Obtener la SELECT desde el MultiLineEdit
ls_select = mle_select.text
// Definir la presentación de la DW (en este caso, sólo ponemos que sea de estilo grid)
ls_presentacion = "style(type=grid)"
// Crear la sintaxis de la datawindow
ls_sintaxis_dw = SQLCA.SyntaxFromSQL(ls_select, ls_presentacion, ls_errores)
IF Len(ls_errores) > 0 THEN
MessageBox("Atención", "SyntaxFromSQL ha causado estos errores: ~r~n" + ls_errores)
return
END IF
// Crear el objeto con la sintaxis generada
dw_datos.Create(ls_sintaxis_dw, ls_errores)
IF Len(ls_errores) > 0 THEN
MessageBox("Atención", "Create ha causado estos errores: ~r~n" + ls_errores)
return
END IF
// Recuperar los datos
dw_datos.SetTransObject(SQLCA)
dw_datos.Retrieve()