Campo obligatorio

Gracias por ayudarme vía correo con el problemilla anterior.
Ahora se me presenta la duda de como puedo hacer un campo obligatorio en un formulario de manera que si voy a escribir algo en los demás campos me salga un mensaje diciéndome que el campo POR es obligatorio.

1 Respuesta

Respuesta
1
El problema es LA CANTIDAD DE CAMPOS QUE HAY... ya que tendría en cada uno dfe ellos validar si no es nulo el primero... la mejor idea que te puedo dar... es que Bloquees los campos menos el obligatorio, propiedad Bloqueado o Locked en la ficah datos de las propiedades de las cajas o combos)... ahora en el evento AfterUpdate (después de actualizar) de la caja obligada colocas...
***************************
If Not Isnull(TxtCajaObligada) then
TxtCaj1.Locked = False
TxtCaj2.Locked = False
else
TxtCaj1.Locked = False
TxtCaj2.Locked = False
end if
************************
TxtCajaObligada es la caja que quieres que debe tener dato, txtCaj1 y 2, son las cajas que deberás bloquear... es más puedes limpiarlas en tal caso que tengan datos (txtCaj1 = Null)
Lógicamente cambiaras los nombres según como llamaste tus cajas... y colocaras las que hacen falta, si son muchas te aconsejo que cambies
TxtCaj1.Locked = False
TxtCaj2.Locked = False
Por:
*********************
For Each ctl In Me.Controls
If TypeOf Ctl Is TextBox then
If Ctl.Name <> TxtCajaObligada then
Ctl.Locked = False
end If
End if
Next Ctl
*******************
Aquí recorres todos los controles y los que son casjas de texto y NO SE LLAMAN TxtCajaObligada, los bloquearas o desbloqueaaras...
¿Por qué DEBEN ESTAR BLOQUEADAS LAS CAJAS AL ABRIR, porque no siempre estarás en la caja obligada, que tal que te pares en otra que no sea la obligada y cambies un dato mientras que la obligada esta vacía?
Por que la otra seria que en el evento al salir (Exit) coloque estos, este evento tiene un parámetro cancel, que nos servirá para cancelar el evento y que se devuelva...
*************************
If IsNull(TxtCajaObligada) then
msgbox "Debe ingresar algun dato",VbInformation,"error"
Cancel = True
end If
*************************
Bueno te dejo 2 opciones verifica cual es la que más te sirve
Att:telemaco

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas