Cambiar el valor de una tabla segun el valor de otra

Si pudieran echar una mano se lo agradecería, tengo dos tabla una llamadas una pedido y otra cabecera la cuestión es lo que necesitaría es que cuando se cambie el valor de la fecha de la tabla pedidos me cambiara el valor en la tabla cabecera, lo he intentado mediante una consulta de actualización pero no me ejecuta nada, adjunto imágenes

.

2 Respuestas

Respuesta
1

En la consulta faltaría añadir un dato indispensable, el ID (que relaciona ambos registros) para que solo se actualice ese conjunto (un ID concreto). Y no toda la tabla.

Ese campo de fecha no necesita figurar en ambas tablas, solo seria necesario si en una tabla (ejemplo: cabecera) fuera la fecha prevista y en la otra (pedido) cada registro (dato del pedido) pudiera ser diferente al de la tabla cabecera o a cualquiera de su conjunto (un elemento se puede enviar por diferente medio y su previsión de entrega o envío ser diferente).

Quizás se debería revisar ese diseño, de forma que los elementos comunes (pedido, cliente, dirección, fechas, factura ...) formasen parte de la tabla cabecera (la 'cabecera del pedido') y en la tabla pedido (los 'detalles del pedido') el detalle de cada elemento que forme parte del pedido

Por ejemplo: una lata de cerveza que se le compro a BebidasFrías, un postre que se adquirió a PasteleriasDulce y una Pizza de fabricación propia además de la cantidad, el precio unitario etc. (es un ejemplo que no tiene mas valor que el de servir de guía y un 'guiño a que se delata al proveedor').

Respuesta
1

El inconveniente de usar una consulta de actualización es que debes "ejecutar" la consulta cada vez. Si el cambio de fechas lo haces desde un formulario Pedidos, en el evento Después de actualizar del cuadro de texto Fecha_pedido puedes poner algo como

Docmd.runsql"update cabecera set Fecha_recogida=#" & me.fecha_pedido & "# where id=" & me.id & ""

Es decir, actualiza el campo Fecha_recogida de la tabla Cabecera al valor que figura en ese momento en el cuadro de texto Fecha_Pedido, en aquel registro en que su Id sea igual al que hay n ese momento en el formulario.

Pero, personalmente, me extraña mucho la relación 1 a 1 entre dos campos autonuméricos claves.

¡Gracias! 

Me ha servido su contribución la he modificado y funciona perfectamente 

DoCmd.RunSQL "Insert into cabecera(fecha_recogida)values(fecha_recogida)"

Muchas Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas