El mantenedor no funciona

Tengo un programa mantenedor que funciona perfecto, intento hacer otro igual, hacia la misma tabla, copio todos los script, tal cual, sin embargo, cuando pido código de ciudad, e ingreso una que no existe, el programa me muestra siempre la misma y no me pide la descripción. La idea es que cuando ingreso un código que ya existe, este de inmediato es displayado, y cuando ingreso uno que no existe, el cursor se posicione en el siguiente campo (descripción) para ser ingresado. TRABAJO CON PB 7.01
La programación de los botones es la siguiente :
Botón agregar
dw_1.reset()
dw_1.InsertRow(0)
dw_1.SetFocus()
BOTON GRABAR
dw_1.update()
SCRIPT DE LA DW :
IF upper(THIS.GetColumnName()) = "CIUDAD" THEN
THIS.RETRIEVE(data)
END IF
SCRIPT DE LA VENTANA :
dw_1. SetTransObject(sqlca)
dw_1.InsertRow(0)
dw_1.SetFocus()
Gracias por responder.

1 respuesta

Respuesta
1
1. ¿El código de la dw está en el itemchanged?
Si es así entonces no uses el getColumnName() que no corresponde, usá:
IF dwo.name = "ciudad" THEN
IF data <> "" And not isnull(data) then
this.retrieve(data)//acá
Validá si está recuperando algo
//Otra opción es que acá hagas un select manual sobre la tabla ciudades.
end if
END IF
No te puedo dar más detalles porque no se que campos tenés ni como está hecha la dw (que me imagino tendrá un select con un retrievalArgument) ni la funcionalidad (que imagino es para dar de alta ciudades)
El resto del código parece estar bien.
Ahora una consideración:
¿1.Tenés el setTransObject(sqlca) en algún lado?
2. validá lo que te devuelve el update()
3. Si las ventanas que estás haciendo tienen la misma funcionalidad, no copies el código. Hacé una ventana estándar y heredá. Después en cada una de las que heredan codificas las cosas particulares (ej: lo del itemchanged)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas