RE:Si el registro no esta en la tabla
Hola Susana:
Perdona los 2 mensajes INICIALES (me he equivocado de tecla y han salido "disparados" con los ejemplos de municipios que tengo). ESTE ES EL BUENO.
1.- En el campo de la REFERENCIA, debes de situarte en las líneas:
LIMITAR A LA LISTA: SI
AL ENTRAR: seleccionar PROCEDIMIENTO DE EVENTO y escribe (entre el Sub y el End Sub):
Me!TUCAMPO.Dropdown ' para que abra la lista
en la linea: AL NO ESTAR EN LA LISTA:
copia este código:
Private Sub TUCAMPO_NotInList(DatosNuevos As String, Respuesta As Integer)
' Agregar un producto nuevo escribiendo un nombre en el cuadro combinado tucampo.
Dim entCAMPONUEVO As Integer, entNombreTruncado As Integer, cadTítulo As String, entCuadroMensaje As Integer
' Mostrar un cuadro de mensaje preguntado al usuario si desea agregar un nuevo PRODUCTO.
cadTítulo = "El producto no está en la lista"
entCuadroMensaje = vbYesNo + vbQuestion + vbDefaultButton1
entCAMPONUEVO = MsgBox("¿Desea agregar un producto nuevo?", entCuadroMensaje, cadTítulo)
If entCAMPONUEVO = vbYes Then
' Quitar el nombre nuevo del cuadro combinado producto para que el usuario
' pueda volver a consultar el control al volver al formulario.
DoCmd.RunCommand acCmdUndo
' Mostrar cuadro de mensaje y ajustar la longitud del valor introducido
' en el cuadro combinado producto. CAMBIA el 50 por el límite de caracteres que uses tú (está en 3 sitios).
cadTítulo = "Nombre demasiado largo"
entCuadroMensaje = vbOKOnly + vbExclamation
If Len(DatosNuevos) > 50 Then
entNombreTruncado = MsgBox("Los nombres de productos no pueden ser más largos de " _
& "50 caracteres. El nombre que introdujo se truncará.", _
entCuadroMensaje, cadTítulo)
DatosNuevos = Left(DatosNuevos, 50)
End If
' Abrir el formulario Agregar Producto.
DoCmd.OpenForm "FORMULARIOPRODUCTOS", acNormal, , , acAdd, acDialog, DatosNuevos
' Continuar sin mostrar el mensaje de error predeterminado.
Respuesta = acDataErrAdded
End If
End Sub
Deberás CAMBIAR los nombres de los CAMPOS y FORMULARIO por los tuyos.
Si tienes dudas me lo dices.
Saludos
Juan Amorós