Bucle para comparar dos tablas por un campo id y campo monto
En vba de access estoy intentando comparar los registros de dos tablas ( Banco y Sistema), la idea es que un bucle recorra el campo Doc de la tabla banco y evalúe el campo Doc y campo Monto de la tabla sistema, es decir, si en la tabla Sistema encuentra un Doc igual a la tabla banco y que además el campo Monto, sume lo mismo, actualice el campo Estado que existe en ambas tablas a "Conciliado", espero haberme explicado.
Adjunto lo que tengo:
Private Sub Command199_Click()
On Error GoTo ErrSub
Dim rst1 As DAO.Recordset
Dim rst2 As DAO.Recordset
Set rst1 = CurrentDb.OpenRecordset("Banco", dbOpenDynaset) 'dbOpenSnapshot
Set rst2 = CurrentDb.OpenRecordset("Sistema", dbOpenDynaset) 'dbOpenDynaset
Dim vcod1 As String
Dim vcod2 As String
Dim vobs As String
Dim sb As Double
Dim ss As Double
DoCmd.SetWarnings True
rst1.MoveFirst
rst2.MoveFirst
Do Until rst1.EOF Or rst2.EOF
vcod1 = rst1.Fields("Document").Value
vcod2 = rst2.Fields("External Doc").Value
vobs = "Conciliado"
sb = DSum("[Amount]", "[Banco]", "[Banco]![Document] =" & vcod1)
ss = DSum("[Amount]", "[Sistema]", "[Sistema]![External Doc]=" & vcod2)
If vcod1 = vcod2 And sb = ss Then
rst2.Edit
rst2.Fields("Estado").Value = vobs
rst2.Update
rst2.MoveNext
Else
rst1.MoveNext
End If
Loop
rst1.Close
Set rst1 = Nothing
rst2.Close
Set rst2 = Nothing
Exit Sub
'Mensaje Error
ErrSub:
MsgBox Err.Description, vbCritical
End Sub