RE:Comparar Tablas y Agregar Campos
Publicado por SetFocus (183 intervenciones) el 30/05/2005 20:02:26
Se me ocurre algo asi, la logica seria:
Dim rsRegistros As ADODB.Recordset
Dim rsBuscado As ADODB.Recordset
Set rsRegistros = New ADODB.Recordset
rsRegistros.Open "SELECT * FROM Tabla1",<tuVariableDeConexion> , adOpenForwardOnly, adLockReadOnly
Do While Not rsRegistros.EOF
Set rsBuscado = New ADODB.Recordset
' suponiendo que Campo1 es una clave unica
rsBuscado.Open "SELECT * FROM Tabla2 WHERE Campo1 =" & rsRegistros!Campo1, <tuVariableDeConexion>, adOpenForwardOnly, adLockReadOnly
If rsBuscado.BOF And rsBuscado.EOF Then
' no lo encontro en la tabla2 entonces lo agrego
Else
' lo encontro, no hago nada
End If
rsBuscado.Close
Set rsBuscado = Nothing
Loop
rsRegistros.Close
Asi tendrias los registros de la tabla1 que no existen en la tabla2, hace el procedimiento a la inversa para agregar los de la tabla2 a la tabla1
Bueno, no se como funcionara esto, pero en fin... =) Saludos
Dim rsRegistros As ADODB.Recordset
Dim rsBuscado As ADODB.Recordset
Set rsRegistros = New ADODB.Recordset
rsRegistros.Open "SELECT * FROM Tabla1",<tuVariableDeConexion> , adOpenForwardOnly, adLockReadOnly
Do While Not rsRegistros.EOF
Set rsBuscado = New ADODB.Recordset
' suponiendo que Campo1 es una clave unica
rsBuscado.Open "SELECT * FROM Tabla2 WHERE Campo1 =" & rsRegistros!Campo1, <tuVariableDeConexion>, adOpenForwardOnly, adLockReadOnly
If rsBuscado.BOF And rsBuscado.EOF Then
' no lo encontro en la tabla2 entonces lo agrego
Else
' lo encontro, no hago nada
End If
rsBuscado.Close
Set rsBuscado = Nothing
Loop
rsRegistros.Close
Asi tendrias los registros de la tabla1 que no existen en la tabla2, hace el procedimiento a la inversa para agregar los de la tabla2 a la tabla1
Bueno, no se como funcionara esto, pero en fin... =) Saludos
Valora esta pregunta


0