Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: edurm13 en 30 Abril 2013, 09:48 am



Título: Comunicacion entre dos formularios
Publicado por: edurm13 en 30 Abril 2013, 09:48 am
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
Código:
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.


Título: Re: Comunicacion entre dos formularios
Publicado por: TrashAmbishion en 30 Abril 2013, 17:49 pm
Yo necesito que te expliques bien haz bien el diagrama de lo que haces porque me es un lio... Salu2