Hola a todos, me duda es la siguiente, tengo dos tablas, y quiero comparar la una con la otra para ver los cambios y actualizarla, si coinciden los campos de nombre y apellido, compruebo si coinciden todos los demas o no, si no coinciden, llamo a un formulario, en el que me muestra los valores antigüos y nuevos, mi problema esta en que al llamar ese formulario se me abre un monton de veces, cuando yo solo quiero que se abra una vez por cada registro que tiene alguna actualizacion. os adjunto el codigo por si sirve de ayuda
Dim cmdSa As New OleDbCommand("Select * from salida", objetoconexion)
Dim cmdCon As New OleDbCommand("Select * from Contactos ", objetoconexion)
Dim lecSa As OleDbDataReader
Dim lecCon As OleDbDataReader
lecSa = cmdSa.ExecuteReader
lecCon = cmdCon.ExecuteReader
If lecSa.HasRows And lecCon.HasRows Then
While lecSa.Read
While lecCon.Read
If (lecSa("Primer_nombre").Equals(lecCon("Primer_nombre")) And lecSa("Apellido").Equals(lecCon("Apellido"))) Then
darValores(lecSa)
existe = True
End If
If existe Then
If (Not (lecSa("Titulo").Equals(lecCon("Titulo"))) Or Not (lecSa("Organizacion").Equals(lecCon("Organizacion"))) Or Not (lecSa("Departamento").Equals(lecCon("Departamento"))) Or Not (lecSa("Oficina").Equals(lecCon("Oficina"))) Or Not (lecSa("Apartado_de_correos").Equals(lecCon("Apartado_de_correos"))) Or Not (lecSa("Direccion").Equals(lecCon("Direccion"))) Or Not (lecSa("Ciudad").Equals(lecCon("Ciudad"))) Or Not (lecSa("Prov_o_estado").Equals(lecCon("Prov_o_estado"))) Or Not (lecSa("Codigo_postal").Equals(lecCon("Codigo_postal"))) Or Not (lecSa("Pais_o_region").Equals(lecCon("Pais_o_region"))) Or Not (lecSa("Telefono").Equals(lecCon("Telefono"))) Or Not (lecSa("Telefono_movil").Equals(lecCon("Telefono_movil"))) Or Not (lecSa("Localizador").Equals(lecCon("Localizador"))) Or Not (lecSa("Telefono_privado_2").Equals(lecCon("Telefono_privado_2"))) Or Not (lecSa("Numero_de_telefono_del_ayudante").Equals(lecCon("Numero_de_telefono_del_ayudante"))) Or Not (lecSa("Fax_del_trabajo").Equals(lecCon("Fax_del_trabajo"))) Or Not (lecSa("Fax_particular").Equals(lecCon("Fax_particular"))) Or Not (lecSa("Otro_fax").Equals(lecCon("Otro_fax"))) Or Not (lecSa("Numero_de_telex").Equals(lecCon("Numero_de_telex"))) Or Not (lecSa("Nombre_para_mostrar").Equals(lecCon("Nombre_para_mostrar"))) Or Not (lecSa("Cuenta").Equals(lecCon("Cuenta"))) Or Not (lecSa("Asistente").Equals(lecCon("Asistente"))) Or Not (lecSa("Principal").Equals(lecCon("Principal"))) Or Not (lecSa("Enviar_formato").Equals(lecCon("Enviar_formato"))) Or Not (lecSa("Activo").Equals(lecCon("Activo")))) Then
Dim act11a As New frmVistaActualizaciones11a
act11a.Show()
End If
End If
End While
If Not existe Then
' insercion del nuevo dato
End If
End While
existe es un campo de tipo boolean que he creado a nivel de clase, para controlar si existe o no ese dato ya en la base de datos.