Crear registros en subformulario con campos del registro del formulario

Tengo dos tablas, la primera llamada MENÚS (fecha) "clave principal con formato Fecha/horal", (PrimeraComida) "texto", (SegundaComida) "texto", (Postre) "texto"...

La primera tabla vinculada con la segunda llamada DATOSCOMIDA con relación UNO A VARIOS con los campos (IdDatos) "autonumérico, (Fecha) "Fecha/hora" y vinculada con Fecha de MENÚS, (PlatoElaborado) "CuadroCombinado" AQUÍ ES DONDE VA A IR REFERIDA PARA PREGUNTA" (TemperaturaInicial) "numérico", (Tiempo) "numérico", (TemperaturaElaboración) "numérico"...

A continuación he creado una consulta con las dos tablas MENÚS Y DATOS COMIDA y en el campo fecha genero un criterio =fecha() para que siempre se visualice la fecha del día de hoy

Después he creado un formulario siemdo MENÚS el formulario principal y DATOS COMIDA el subformulario

Esta es la pregunta: De que manera podría extraer los datos del regustro de la búsqueda de la consulta de la tabla MENÚS para convertir los campos (PrimeraComida, SegundaComida, Postre...) en campos del cuadro combinado de la tabla DATOS COMIDA de manera que al desplegar el combo de "PlatoElaborado" me permita seleccionar con campos (PrimeraComida, SegundaComida, Postre...) y ya cuando lo tenga en el registro rellenar los datos segín las medidas y el tiempo registrado en el día a día.

Bueno espero que me haya explicado bien.

1 respuesta

Respuesta
1

Si te he entendido bien, este ejemplo que te preparé es más o menos lo que tienes y lo que pretendes conseguir.

Lo que tienes que hacer, es poner en tu tabla DATOSCOMIDAS el campo "PlatoElaborado" como texto (fíjate de ponerle el mismo tamaño que el que le tengas puesto a primeracomida, segundacomida y postre)

Luego abres tu subformulario en vista diseño, pinchas en el campo PlatoElaborado, haces click derecho y eliges "Cambiar a ->" y "Cuadro combinado". Con esto el control en el subformulario te cambiará de cuadro de texto a cuadro combinado.

Sacas sus propiedades, y en la pestaña datos le cambias el "tipo de origen de la fila" a "Lista de valores" y le borras (si hay algo) en "Origen de la fila".

Vete a la pestaña Eventos, y en "Al entrar" (o "Al recibir el enfoque") le generas este código, adaptándolo a los nombres que tú tengas si son otros:

Private Sub PlatoElaborado_Enter()
Me.PlatoElaborado.RowSource = ""
Me.PlatoElaborado.Requery
Me.PlatoElaborado.RowSource = Nz(Me.Parent.PrimeraComida, "") & ";" & Nz(Me.Parent.SegundaComida, "") & ";" & Nz(Me.Parent.Postre, "")
Me.PlatoElaborado.Requery
End Sub

Guardas los cambios y listo, cada vez que entres al combo del subformulario te mostrará los 3 valores de los 3 campos del formulario principal (si los hay) o quedará en blanco.

Hola de nuevo,

Muchas gracias de antemano por contestar. 

El ejemplo que me has enviaado esta perfecto y has captado a la primera lo que quiero hacer, pero al hacerlo en mi base de datos y adaptar el cocigo en el evento al entrar no me reconoce esto

Me.RowSource=""

Trabajo con oficce 2003

Como lo puedo solucionar.

Te falta poner el nombre del cuadro combinado:

Me.NombreCuadroCombinado.RowSource=""

¡Gracias!

Tenías razón, fallaba sólo eso.

No sabes el tiempo que andaba detrás de esto. Te lo agradezco un montón.

Mucha Suerte y Gracias

Carlos

[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas