¿Cómo mostrar datos en un freeform mediante una sentencia SQL?

En un freeform tengo los campos de mi tabla en los cuales escribo el código de cierto registro y tengo un campo de texto en el cual muestro el nombre que tiene ese registro en la base de datos. Lo que quiero hacer es que al escribir el código automáticamente me aparezca el nombre en el campo de texto mediante la siguiente sentencia:

string cod,name

if dwo.name='c_codigo_ase' then

cod=dw_1.getitemstring( dw_1.getrow(),"c_codigo_ase")

select v_nombre_ase

into :name

from agrasesor

where c_codigo_ase=:cod

using sqlca;

dw_1.object.txtmon.text=name

end if

Me funcionó en el editchanged del dw_1 pero lo hacía cuando borraba el código.

Respuesta

No se si le puedes probar en el mismo cuadro de código al perder el foco ... puede ser que funcione. No se si me aclaras la ultima parte de cuando borras el el código te funciona para poderte ayudar. Un abrazo.

2 respuestas más de otros expertos

Respuesta
1

El código esta bien para el evento editchanged. Excepto en una cosa: en vez de coger el valor con el GetItemString, cógelo con el parámetro Data del propio evento.

Es decir:

cod=data 

Tu código puede funcionar si hicieses un AcceptText del datawindow antes de hacer el GetItemString. Pero puede provocar que ejecutes otras cosas que no deseas ;)

Respuesta

En la condicion en lugar de utilizar "dwo.name" utiliza la funcion "GetColumnname( )" del datawindows seria mas o menos asi "this.GetColumnname( )='c_codigo_ase'"

Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas