Guardar registro con Combobox vacío mensaje error base de datos

Tengo un formulario con varios campos y cuadros combinados con diferentes opciones y un botón guardar registros. Si no elijo ningún campo en los cuadros combinados y le doy a guardar registros me sale el siguiente mensaje: " El motor de la base de datos de Microsoft Access no puede encontrar ningún registro en la tabla "..." con los campos clave "...".

No se muy bien como plantearlo, ¿existe la posibilidad poner un mensaje que avise si no se elige una opción de los cuadros combinado se debe de hacerlo? ¿O poner un valor predeterminado vacío y que lo acepte al guardar? ¿U otra forma?

1 Respuesta

Respuesta
1

Según lo que comentas, vacío no te puede quedar porque forma parte de la relación entre dos tablas, y te quedaría un registro sin relacionar en la tabla "secundaria".

Lo que puedes hacer es darle una valor predeterminado (de entre los que muestra el combo y que debe existir en la otra tabla) mediante la propiedad "Valor predeterminado" del cuadro combinado.

La otra forma, sería comprobar, en el botón que usas para guardar, que hay un valor en tu cuadro combinado previamente al guardado de registro. Algo en esta línea:

Private Sub btnGuardar_Ckick()
If IsNull(Me.CuadroCombinado) Then  'Si el campo está vacío
Msgbox "Tienes que seleccionar un valor en el campo....", vbInformation,"Faltan Datos"
Me.CuadroCombinado.SetFocus  'Te coloca en el campo
Exit Sub  'Sale sin guardar del procedimiento
End If
DoCmd.RunCommand acCmdSaveRecord
End Sub

Si quieres validar no solo que sea nulo, sino que tenga un valor "vacío", puedes sustituir la linea del If por esta otra:

If Nz(Me.CuadroCombinado,"")="" Then

En ambos casos CuadroCombinado lo tendrás que cambiar por el nombre de tu cuadro combinado. Y si quieres validar varios, puedes hacerlo repitiendo el bloque If para cada uno.

Saludos!


Una nueva web de Access, visítanos: http://nksvaccessolutions.com/ 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas