¿Cómo relacionar dos campos de un formulario?

Tengo una duda en cuanto a relacionar dos campos de un formulario de mi BD.

Me explico. Tengo una base de datos formada por dos tablas "ficha_de_equipo" y "tipo_de_lamparas" en la primera registro los diferentes equipos de iluminación que tengo en el almacen y en la segunda los tipos de lamparas que existen. Tengo un formulario para cada una de las tablas. El tema es que en el formulario de "ficha_de_equipo" existen dos campos que provienen de la tabla "tipo_de_lampara" uno es el código de la lámpara y el otro la potencia. Para relacionar el código lo he hecho mediante un cuadro combinado cogiendo como origen de tabla/consulta e indicando el nº de fila, así obtengo todos los códigos en un extensible y luego sólo tengo que seleccionar con el ratón. Hasta aquí bien, el problema se me plantea a la hora de indicar la potencia de la lampara ya que me gustaría que al seleccionar el código de la lampara el campo de potencia fuese relacionado con el código y me translade el valor correspondiente a dicho campo. Es decir, por ejemplo si en la tabla "tipo_de_lampara" tengo especificado que la lampara con código=23 tiene una potencia de 150W entonces en el formulario de "ficha_de_equipo" debería aparecer 150W en el campo de potencia cuando yo seleccione el código 23 del extensible.

2 Respuestas

Respuesta

Yo crearía una tercer tabla con las potencias y las vincularia entre sí, así tendras un tercer desplegable con las potencías correspondientes a cada tipo de lámpara

Respuesta

Si modificas las propiedades de tu cuadro combinado para que te coja el nº de fila y la potencia (sería cambiarle el origen de la fila a algo como esto: SELECT codigo, potencia FROM tipo_de_lamparas), y luego, en el evento "Después de actualizar" le generas este código (le das al boton con los 3 puntos que aparece al lado de esa fila, y eliges "Generados de código"):

Me.Potencia=Me.Codigo.Column(1)

Y ya lo tienes.

Ha supuesto que tus campos se llaman Potencia y Codigo, si no fuera el caso, tendrás que cambiarlos por los que tu tengas.

Comentarte, por otro lado, que un sistema más óptimo sería si no repites en tu tabla ficha de equipo el dato de la potencia (ya lo tienes en la otra tabla, y estás duplicando información).

Para mostrar la potencia, por ejemplo en un informe, te creas una consulta sobre las dos tablas (que supondré que las tienes correctamente relacionadas), con los campos que necesites, y creas el informe sobre la consulta.

En el formulario, para mostrar la potencia automáticamente (pero sin que te la guarde en la tabla), al campo potencia le cambias el origen de control de "Potencia" a "=Codigo.Column(1)" (sin las comillas)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas