Consigo usar dlookup bien en el formulario pero no me traslada el dato autorellenado a la tabla

Tengo una base de datos sencillita con dos tablas "Operarios" y "horas trabajadas por operarios". El caso es que las he relacionado con una relacion de uno a varios y he creado un formulario llamado "horas trabajadas por operarios" para rellenar su tabla mas facil. Cuando coloco el código del operario me autorrellena solo el campo nombre y apellidos (me coge la información de la tabla "operarios" )pero al visualizar la tabla de "horas trabajadas por operarios" salen todos los campos rellenos excepto los que me ha autorrellenado. He probado a usar la función dlookup en el formulario y me sale bien. Me autorrellena los campos según le pido, pero tengo el mismo problema. En la tabla me salen todos los valores rellenos excepto los que me autorelleno el formulario.

A ver si alguien puede ayudarme.

Respuesta
1

Imagino que el DLookUp lo usas en el "origen de control" de tus cuadros de texto (Propiedades->Datos->Origen de control), y por eso no te lo guarda en la tabla.

Hay muchas formas de hacerlo, para que te lo guarde en la tabla:

1º/ Una es la que explica Neckkito en su ejemplo Guardar campo calculado en tabla si haces cálculos (también sirve con DLookup)

2º/ Si trabajas con cuadros combinados, puedes usar alguno de los métodos que explico aquí: Cuadros combinados

3º/ Hacer la búsqueda por código y pasarle el valor por código al cuadro de texto, que en este caso tendrá como "origen de control" el campo de la tabla. En el ejemplo anterior también puedes ver cómo sería.

Y luego está en ver la conveniencia o no de guardar esos datos en al tabla: si en la tabla operarios tienes los datos del operario, en la tabla horas no es necesario que los repitas, pues al estar ambas tablas relacionadas por el ID del operario, siempre puedes, con una consulta o con el DLookup, recuperar esos datos. Si incluyes, por ejemplo el nombre del operario en la tabla horas, estás perdiendo eficiencia en tu BD, duplicando información de forma innecesaria.

Un saludo


¡Gracias! Por tu ayuda. Da gusto con gente como tu. Probare lo que me aconsejas, aunque me has hecho pensar con lo de que quizás no necesite tener el campo calculado en la tabla. Lo pensare.

Gracias de nuevo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas