Como informar de errores en un formulario

Tengo un formulario llamado CLIENTES, en este cuando introduzco un cliente nuevo tengo un botón para actualizar los datos llamado ACTUALIZAR con un código en el evento “Al hacer clic”

Private Sub Comando284_Click()

DoCmd.RunCommand acCmdSaveRecord

DoCmd.SetWarnings False

DoCmd.RunSQL "update [001 001 t clientes] set fechamod=date() where [cod_cliente]=forms![001 001 f ficha clientes (x)]![cod_cliente]"

DoCmd.RunSQL "update [001 001 t clientes] set horamod=time() where [cod_cliente]=forms![001 001 f ficha clientes (X)]![cod_cliente]"

End Sub

Tengo un campo llamado Cod_vendedor en este formulario y lo que quiero es que cuando actualizo los datos y no he rellenado este campo me salga un mensaje indicando que debo rellenar el campo Cod_Vendedor.

3 respuestas

Respuesta
2

Una forma sería validar los datos antes de hacer nada. Para eso tienes las funciones IsNull(), IsDate(), IsNumeric() y Nz(), y con un simple If lo tienes listo.

Ejemplo:

Private Sub....
'Validas los datos
If IsNull(Me.Cliente) Then
Msgbox "El cliente no puede estar vacío"
Exit Sub
End If
'Retos del código
End Sub

Habría formas más o menos complejas, pero esa es la más básica

Respuesta
2

Para que haces dos sentencias docmd... basta con que solo pongas una

DoCmd.RunSQL "update [001 001 t clientes] set fechamod=date(), horamod=time() where [cod_cliente]=forms![001 001 f ficha clientes (x)]![cod_cliente]"

También puedes poner en la tabla el campo N_vendedor como requerido=si

Respuesta
1

Debes adicionar en el evento Antes de Actualizar algo como

If Isnull(me.cod_vendedor) then

   Msgbox "Se requiere el codigo del vendedor",vbInformation,"Error..."

  me.cod_vendedor.SetFocus

 Cancel=True

end if

Igualmente solo necesitas una sentencia de actualización como te dice Icue González

End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas