Control de campos nulos

Estoy necesitando por favor una aclaración, mi duda es la siguiente, trate de todas la manera posibles de controlar si un campo es o no nulo. Pero estoy necesitando que controle antes de que cambie el foco del campo ya que tengo las intenciones de que avise antes de guardar. Para que de esta manera controlor y dar el mensaje que esta nulo inmediatamente cuando cambie el foco, al tratar de cambiar al otro campo.
Primero intente en el itemchanged ya que ahí estoy controlando tbn otras restricciones para el mismo campo como por ejemplo que no sea mayor a a 50 el valor ingresado(q por cierto si me sale) . Pero no logro que la restricción de q no sea nulo se active . Luego intente tbn en el losefocus() pero tampoco pude.
Intente en el itemchanged() con esto:
CHOOSE CASE(dwo.name)
// CASE 'dpostcarr_puntajsm'
// IF (ISNULL(data) OR data = '') THEN
//
// messagebox('error', 'deberá ingresar un valor en el codigo')
// return 1
// END IF
// CASE 'dpostcarr_puntajd'
// IF (ISNULL(data) OR data = '') THEN
//
//
// messagebox('error', 'deberá ingresar un valor en el codigo')
return 1
//
// END IF
// end choose
tbn intente con
if this.getcolumnname()="dpostcarr_puntajsm" then
sm= long(data)
//
if isnull(sm) then
MessageBox ("Aviso", "Error, 50!")
return 1
end if
------ y por ultimo cn una funcion:
f_ver_nulo
boolean ret
if isnull(data) or string(data) = ' ' then
ret = true
Else
ret = FALSE
end if
return (ret)
///en el item changed()
if this.getcolumnname()="dpostcarr_puntajsm" then
sm= long(data)
// li_return = f_ver_nulo (data)
// IF li_return = true THEN
// messagebox("Aviso", "Error, nulo")
// li_return = false
// return 1
// END IF
Porfavor me podrian ayudar cn esto.. De ser posible, estoy necesitando saber donde esta mi error si la eleccion del evento no es correct o el scrip ..

1 respuesta

Respuesta
1
Haz lo siguiente:
---Declara como variable de instancia
String is_campo
Boolean ib_activo
---En el evento constructor del dw
is_campo = "campo1" <-- Poner el primero nombre del campo
---En el evento itemfocuschanged del dw
String ls_dato
IF is_campo = '' THEN RETURN
ls_dato = GetitemString(1,is_campo)
IF (isnull(ls_dato) or ls_dato='' ) and not ib_activo then
Messagebox("titulo",is_campo+" vacío")
ib_activo = true
SetColumn(is_campo)
else
is_campo = dwo.name
ib_activo = false
end if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas