Crear una tabla para un formulario con cuadros combinados en cascada

He creado un formulario con cuadros combinados en cascada: curso, asignatura y tema. Hasta aquí todo correcto. Pero ahora quiero sacar un informe de este formulario. Entiendo que hay que hacer una tabla con los campos rellenos del formulario. Pero no sé cómo hay que hacerlo. Creo que es a través de un botón en el formulario pero no me guarda el texto del cuadro combinado, sino su valor. ¿Alguien podría ayudarme?

He programado en el botón:

Private Sub boton_Click()

curso = Me.combo1.Value
asignatura = Me.combo2.Value
tema = Me.combo3.Value

DoCmd.RunSQL "INSERT INTO prueba(curso,asignatura,tema)VALUES('" & curso & "','" & asignatura & "','" & tema & "');"

End Sub

2 Respuestas

Respuesta
2

Más sencillo, cambia en tu código original "Value" por "Column(1)", es decir, que te quede:

curso = Me.combo1.Column(1)

Y así las otras dos.

Respuesta
1

Por partes, en principio para hacer el informe no es necesario crear una tabla, puedes usar la función Dlookup. Por ejemplo, supón que tienes un informe Clientes con sólo Idcliente. Puedes añadir un cuadro de texto Dirección, y en el evento al dar formato de la sección donde esté poner

Dirección=dlookup("dirección","clientes","idcliente=" & me.idcliente & "")

Otra- Si los combinados no tuvieran origen de control y el informe lo abres desde ese mismo formulario puedes poner en el informe un cuadro de texto y en la sección antes descrita poner

curso=forms!nombrdelfomulario!combo1

Otra- En el caso de que decidas guardar los valores en una tabla, la instrucción la tienes bien hecha, lo único es que puedes quitarle el último punto y coma.

En caso de que curso sea texto, está bien lo de '" &

En caso de que sea numérico sería " &

Gracias por la ayuda. Necesito guardar los datos del formulario en una tabla. En el formulario aparecen 3 cuadros combinados con origen de 3 tablas distintas. Con el botón he creado unas instrucciones que me guarda los datos en la tabla "prueba" pero no me guarda la palabra "matemáticas", me guarda el número id que le corresponde a asignatura. No sé qué hacer para que en la nueva tabla me aparezca: curso, asignatura, tema (en texto, no en números id). No sé si me explico.

Muchas gracias de todas formas.

Ayuda

Me da la impresión de que has creado el combinado con el asistente, por eso te ha añadido el campo Idlouesea. Lo mejor es que en el origen de la fila de cada combinado, le quites el campo id y dejes solo el campo Curso y en sus propiedades-formato-numero de columnas le pongas 1 y en ancho de columnas lo dejes en blanco. Así te guardará el valor "bachillerato", "Primaria", etc. De todas formas, como te decía antes, teniendo en cualquier lugar un valor que identifique un registro en particular con la función Dlookup puedes bucar lo que sea, por ejemplo, supongamos que te guarda el idcurso. En culquir lugar puedes poner un cuadro de texto y en código decirle

Curso=dlookup("curso","cursos","idcurso=" & me.combo1 & "")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas