Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/05/2010, 05:36
Avatar de Taribo007
Taribo007
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: VBA - Access: Actualizar tabla mediante una consulta sobre otra tabla

Supongo que le valor obtenido lo querras insertar en el registro cuyo Cod sea el que usas en cada iteracion del bucle para realizarlo. Si ejecutas esa consulta de inserccion asi, estas introduciendo nuevos registros con el campo valor_final relleno, y el resto vacio.

Si he entendo bien, prueba si te sirve asi:

Private Sub Comando1_Click()
Dim rst1 As dao.Recordset
Dim rst2 As dao.Recordset
Dim rst3 As dao.Recordset
Dim y As Integer

Set rst1 = CurrentDb.OpenRecordset("select cod, valor1,valor_final from Descripcion")

While Not rst1.EOF
Set rst2 = CurrentDb.OpenRecordset("select sum (valor1) as suma1 FROM Descripcion Where cod = " & rst1("cod"))
Set rst3 = CurrentDb.OpenRecordset("select valor2 FROM Maestro where cod = " & rst1("cod"))
y = (rst3("valor2") / rst2("suma1")) * rst1("valor1")

rst1.Edit
rst1("valor_final") = y
rst1.Update


rst2.Close
rst3.Close
rst1.MoveNext
Wend

rst1.Close
Set rst1 = Nothing

End Sub

No obstante, por que no funciona?? Da algun error??

Un saludo