RE:Preguntar si un datawindow tiene campos vacios.
Hola Jorge:
Nuestro buen amigo Jesús tiene raz+on, en cada campo debes poner cual será obligatorio..
Ademas, en cada campo que será obligatorio debes ponerle un texto en la propiedad de "tag", éste texto servirá para mostrarle al usuario el campo que requiere información.
Hecho esto, te doy un código para validar cada campo del datawindow:
Crea un boton que diga "Guardar", en éste botón crea un evento llamado "ue_valida" y dentro del evento "ue_valida" pon éste código que validará cada campo (uno por uno):
long row = 1
integer colnbr = 0
string colname,ls_msge,ls_campo
is_conti = 'S' // esta variable es de instancia para validar si hay campo vacios
AcceptText ( dw_tu_datawindow )
Do While row <> 0
colnbr++
if FindRequired( dw_tu_datawindow,Primary!, &
row, colnbr, &
colname, false ) < 0 then exit
if row <> 0 then
ls_campo = Describe(dw_tu_datawindow+'.tag')
ls_msge = ls_msge+'~n'+'* '+ls_campo
is_conti = 'N'
end if
loop
if is_conti = 'N' then MessageBox('Campos requeridos ...',ls_msge,StopSign! )
luego en el evento "Clicked" del botón pon éste código:
if is_conti = 'S' then
if MessageBox('Confirmar ...','¿ Deseas guardar los datos ?',Question!,YesNo!,1 ) = 1 then
udpate( dw_tu_datawindow)
end if
end if
SetFocus ( dw_tu_datawindow )
Nota:
Recuerda poner en el evento "itemerror" de dw_tu_datawindow éste código:
string ls_campo
ls_campo = Describe(this,dwo.Name+'.tag')
MessageBox('Dato Requerido..',ls_campo,Stopsign! )
return 1
y en el evento de "itemchanged" pon éste código:
if dwo.name = 'nomb_campo' then
if data <> '' then return 1
end if
Aqui debes validar cada campo en el evento "itemchanged"
Espero te sirva amigo....
Suerte