Como usar INSERT cuando un campo es un cuadro combinado con opción de "permitir varios valores"

Tengo una tabla y su respectivo formulario, en el cual hay varios campos, uno de ellos es un cuadro combinado que tiene como origen de la fila una consulta de otra tabla. En las opciones del campo, desde la tabla en vista diseño, poseo la opción "permitir varios valores". En el formulario se puede entonces, seleccionar la lista desplegable con varios valores de esa consulta y seleccionar los que se requieran.

La consulta es como usar la instrucción INSERT para pasar los valores que se almacenaron en el campo combinado, a otro campo de otra tabla.

Estoy usando el siguiente pero no me funciona.

CurrentDb.Execute "INSERT INTO Historial_Cultivos SELECT * FROM Cultivos WHERE DNI = '" & Me.DNI & "'"

en otras tablas donde no poseo el campo combinado como en el que describi arriba, el codigo funciona, Al perecer es algo relacionado con la funcion insert y los cuadros combinados.

1 Respuesta

Respuesta
2

Sencillamente: no puedes hacerlo. Una consulta INSERT INTO no puede tener un campo multivalor.

El problema no está relacionado con la SQL tipo INSERT y los cuadros combinados, sino con los campos multivalor, que no es lo mismo.

Para manejar los valores contenidos en un campo multivalor, tienes que hacerlo por medio de un recordset dentro de otro recordset, es decir, abrir un recordset sobre la tabla y otro sobre el campo. En la web de Neckkito tienes un ejemplo explicado de cómo trabajar con estos campos tan "especiales", al cual te remito.

Un saludo.


¡Gracias! Pero es chino básico. Me parece muy complicado. Imposible con mi escaso conocimiento de acceso y vba que pueda entender eso. No Se puede crear en ese formulario, un text box que copie los valores seleccionados en ese cuadro multivalor, agregándolos uno al lado del otro separados por comas?  Se me ocurre que así podría decirle con insert que copie el texbox, evitando así lo que me pasaste. 

Podrías hacerlo, pero ten en cuenta que el campo de destino en la segunda tabla no puede ser multivalor, sino un simple cuadro de texto.

Además, has de escribir con cuidado la SQL para que entienda que los valores separados por comas son un único valor y no distintos valores para agregar a x campos...

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas