Agregar registros NUEVOS o YA EXISTENTES desde un cuadro combinado indistintamente

Tengo un problema que ya lo he consultado en reiteradas ocasiones pero no logro resolver.

Necesito cargar en un subformulario registros nuevos o que ya figuren en una tabla seleccionándolos o agregándolos desde un cuadro combinado sin que me muestre el mensaje que no se puede (debiendo agregarlo previamente en forma individual en la tabla de origen del cuadro combinado)

Quisiera que si no esta en la tabla original lo agregue, le genere el id autonumérico y se almacene sin necesidad de ir hasta la tabla para agregarlo. Es decir que se agregue desde el cuadro combinado.

Las tablas son:

Tabla 1: Patologias /Campos: IdPatologia (Autonumerico), Patologia (Texto)

Tabla 2: NexoPatol_Manif /Campos: IdPatologia (numerico), IdManif (numerico)

Tabla 3: Manifestaciones /Campos: IdManif (Autonumerico), Manifestacion (Texto sin duplicados)*

- Traduciendo... En un formulario de Patologías, tengo un suformulario de Manifestaciones.

El suformulario muestra los datos de la tabla NexoPatol_Manif asociado por IdPatologia.

En este suformulario el campo IdManif lo hice cuadro combinado, de tal manera que almacena el IdManif, pero me muestra el texto de la tabla 3 Manifestaciones. Obviamente al ser un cuadro combinado que "se alimenta" desde otra tabla, al no tener el registro, me dice que no puedo agregarlo a menos que lo agregue previamente en la tabla manifestaciones, lo cual le asigna un IdManif nuevo y recién después puedo almacenar ese IdManif en la tabla 2 NexoPatol_Manif

El mayor impedimento de esto es que puedo agregar un grupo de manifestaciones en la medida que ya existan en la tabla 3 Manifestaciones, pero al querer pegar un grupo de manifestaciones, si una o varas de las manifestaciones no están en la tabla originaria del cuadro combinado me impide agregarlas obviamente.

Resumiendo:

- Necesito que las "manifestaciones nuevas" se agreguen en la tabla 3 Manifestaciones con su IdManif (Autonumérico) y este IdManif se almacene en la Tabla 2: NexoPatol_Manif de la misma manera que puedo hacerlo con las manifestaciones ya almacenadas previamente sin mediar advertencias o impedimentos. Es decir que se agregue desde el cuadro combinado del subformulario mencionado.

Hasta donde pude ver se debería poder ante el evento AL NO ESTAR EN LA LISTA. Pero se me hace difícil por no saber código.

1 Respuesta

Respuesta
2

Noa: Esta pregunta me sale sugerida y si realmente tienes poca costumbre en el uso de VBA, en mi opinión va a ser difícil que lo resuelvas de un modo simple, como es abrir la Tabla o un formulario y añadir lo que necesitas.

No obstante creo que debes intentarlo, y como guía te proporciono dos o tres de enlaces en los que está explicado.

1.- La página de Microsoft que supongo habrás mirado, pero por si acaso

https://msdn.microsoft.com/es-es/vba/access-vba/articles/combobox-notinlist-event-access 

2.- Un ejemplo que justo hace lo que quieres de J. Miralles y que tiene en >>

http://jmmirallesortega.wixsite.com/accessyvba/ejemplos-y-descargas 

Es el ejemplo Número 8

3.- Neckkito tiene un ejemplo muy completo, pero posiblemente te resulte un poco más difícil interpretar, pero así vas haciebdo prácticas.

http://siliconproject.com.ar/neckkito/index.php/ejemplos-explicados/controles/96-ejemplos-explicados/ejemplos-de-controles/335-un-poco-mas-alla-del-not-in-list 

Mis saludos >> Jacinto

Hola Jacinto.

Muchísimas gracias. Aplique el ejemplo que me sugeriste (opción 2)

Y pude resolver un problema muy complicado para mí. Llevo tiempo buscando.

No sabía cómo expresar suficientemente clara la pregunta y me interpretaste rápidamente.

Saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas