Código agregar registro Cuadro Combinado Access

Soy novato total en esto de VBA. Estoy realizando una base de datos con el access 2003 y quiero crear un cuadro combinado que me de la opción de añadir registros nuevos. Se que tengo que marcar la opción de limitar la lista en no y que tengo que ir al evento de "Al no estar en lista", pero como he dicho no tengo ni idea de programación. Mi cuadro combinado tira de una tabla llamada Categoría, con dos campos, IdCategoria (indice clave que en el cuadro combinado está oculto) y Categorías (texto). Sólo se el encabezamiento del código, que debe ser:
Private Sub CATEGORIA_PROF_NotInList(NewData As String, Response As Integer)
Alguien me puede ayudar y terminar de escribir el código y si no es mucha molestia, que cuando se quiera añadir un nuevo registro al cuadro combinado me salte un mensaje para confirmar, del tipo: "Esta categoría no existe. ¿Confirma que quiere crearla?. Debería aparecer dos opciones: Sí/No.

2 respuestas

Respuesta
2
Consulta la Ayuda de Access para el evento NotInList, trata exactamente lo que tu quieres hacer.
Sería algo así:
Private Sub CATEGORIA_PROF_NotInList(NewData As String, Response As Integer)
   If MsgBox("Esta categoría no existe. ¿Añadir?", vbQuestion+vbYesNo) = vbYes Then
      Response = acDataErrAdded
      'Aquí añades lo que ha tecleado (NewData) a la tabla
   Else
      Response = acDataErrContinue
      Me!CATEGORIA_PROF.Undo
   End If
End Sub
Meto el código. Pruebo a meter algo que no está en la lista, me sale el msgBox preguntándome si deseo añadir, le digo que sí y me salta mensaje de error: El texto que introdujo no es un elemento de la lista. Seleccione un elemento de la lista o introduzca un texto que coincida con uno de los elementos de la misma. ¿Sabes por qué puede ser?
¿Cómo añades NewData a la tabla?
Respuesta
2
Para realizar la pregunta que quieres debes poner:
If MsgBox("Esta categoría no existe. ¿Confirma que quiere crearla?", vbInformation + vbYesNo, "¡Atención!") <> vbNo Then
    [El resto del código de inserción de nueva categoría]
End If
¿Sabrías el resto del código? Es que sinceramente no tengo ni idea de VBA. Me defiendo un pelín en access, pero programación soy nulo¡
Mi mail es [email protected] mejor mandame lo que tengas hecho y te lo miro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas