04/05/2010, 05:36
|
| | | Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 3 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 |