Hola, el botón tiene que estar en el datawindow? porque podés hacer el datawindow con el select directamente. Después haces una caja de texto donde pueda ingresar el número y con un botón que haga el retrieve del datawindow pasandole como parámetro el valor ingresado en la caja de texto.
El select ya lo tenés armado? si es así hace lo siguiente:
Crea una nueva datawindow sql select, donde te aparece para elegir las tablas que va a usar la datawindow ponele "Cancel".
Te queda la ventana vacia, ahí anda el menu "Design" y al submenú "Convert To Syntax". En la pantalla que te queda podés escribir directamente la consulta. Copia y pega el select que tengas. (ahora depende de que criterio quieras usar para la consulta, supongamos que se ingresa la identificación y querés que te devuelva todos los registros según la identificación). Al select, en el where ponele (siguiendo el ejemplo de identificación) "where identificacion = :p_identificacion" ("p_identificacion puede ser cualquier nombre que quieras y sin comillas, si tienen que ir los dos puntos para indicarle que es una variable).
Ahora lo único que falta es definirle a la datawindow ese parametro. Anda al menú "Design" (ahora es distinto los submenu que tiene adentro) y seleccioná "Retrieval Arguments..." Eso te abre una pantallita donde tenes que definir el parámetro que usastes en el select (pueden ser varios, pero sigo el ejemplo de identificación solamente). En esa pantallita ponele el nombre que usastes para el parámetro en el select (en mi caso p_identificacion) y la definis del tipo que tiene que ser, por ejemplo "number".
Ahora termina de crear la datawindow y ya estaría el primer paso. Te quedaría hacer el sle y un botón con el retrieve de la datawindow, por ejemplo:
dw_1.retrieve(integer(sle_1.text))
(obviamente tenés que hacer validaciones antes de hacer el retrieve sino te va a dar error).
Bueno, comenta como te fué y si te trabas con algo lo vemos, saludos.