Access - Actualizar campos dependientes automáticamente

   
Vista:

Actualizar campos dependientes automáticamente

Publicado por chmartinez (8 intervenciones) el 23/04/2015 11:34:09
Muy buenos días.

Tengo el siguiente problema: una tabla con clientes (cada uno de los cuales tiene una forma de pago asociada) y otra con las facturas, en cuyo formulario, selecciono un cliente de un combobox, y, automáticamente, en la factura también aparece la forma de pago que tengo introducida en la tabla del cliente en cuestión. Ejemplo:

A mi CLIENTE 1, FORMA DE PAGO 1

Le corresponde FACTURA A CLIENTE 1 >> FORMA DE PAGO 1 (automático)

Ahora bien, cuando, por el motivo que sea, entro a la tabla de clientes, y cambio su forma de pago, ¿cómo puedo hacer para que actualice todas las facturas a nombre de ese cliente, y aparezca su forma de pago modificada?

Modifico: CLIENTE 1, FORMA DE PAGO 5

Pero FACTURA A CLIENTE 1 >> FORMA DE PAGO 1 (no aparece cambiado el registro)

Lo único que he podido hacer, es entrar a cada registro de factura del CLIENTE 1 en el formulario, y volver a seleccionar ese mismo cliente en el combobox, con lo cual ya me actualiza su forma de pago, pero... imaginad que tengo 286 facturas de ese cliente, ¿qué forma puedo tener para evitar pasar una por una y que se actualice automáticamente?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Neckkito

Actualizar campos dependientes automáticamente

Publicado por Neckkito (1104 intervenciones) el 30/04/2015 10:24:58
Hola!

Con la información que das es difícil darte una respuesta directa, pero una solución podría ser la siguiente:

En el formulario donde cambias la forma de pago al cliente, en el campo de la forma de pago y en su evento "Después de actualizar", le podrías generar el siguiente código (está escrito un poco en abstracto puesto que desconozco los datos de tu BD):

1
2
3
4
5
6
7
8
9
10
11
...
Private Sub...
Dim idCliente as long, idFormaPago as long
Dim miSql as string
If isnull(me.CampoFormaPago.value) or isnull(me.CampoIdentificadorCliente.value) then exit sub
idCliente=me.CampoIdentificadorCliente.value
idFormaPago=me.CampoFormaPago.value
miSql="UPDATE TablaFacturas SET FormaPago=" & idFormaPago & " WHERE CampoIdCliente=" & idCliente
currentdb.execute miSql
End sub
...

Si lo pruebas te aconsejo probarlo en una copia de tu BD

Saludos,
firmaMail
http://neckkito.siliconproject.com.ar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Actualizar campos dependientes automáticamente

Publicado por chmartinez (8 intervenciones) el 30/04/2015 13:32:42
Muy buenas, Neckkito.

Ya me había respondido tu buen amigo Sveinbjorn, a través de otro foro, y me había dado la misma solución.

Funciona perfecta.

Muchas gracias por contestar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar