elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
Páginas: [1]
1  Programación / Programación General / Problema al pasar datos entre formularios bases de datos distintas en: 5 Junio 2020, 19:22 pm
Hola a todos y gracias de antemano por su ayuda. Este es el caso que tengo:

1. Abro el FORM1 (Archivo de clientes) y lleno el DataGrid con las funciones: Seleccion y Filltable (uso la variable "design"de esta funciòn para llenar uno u otro datagrid), uso el Valor "CliPic" para llenar los datos del DGV

Código:
Seleccion("SELECT F_CLI.* FROM F_CLI order by CODCLI")
        Filltable(DgClientesAr, "CliPic")

2. Desde el FORM1 abro el FORM2 (Edición de clientes) para editar el registro seleccionado en el primero. Al modificar el registro y actualizar llamo de nuevo la funcion FillTable para refrescar los datos del DataGrid, aquí no hay inconvenientes.
3. Desde el FORM2 abro el FORM3 (Archivo de códigos postales) y lleno el datagrid de este último usando tambien la variable "design" con el valor "PosPic"
Cuando aplico el campo seleccionado, este se traslada correctamente al FORM2

Código:
Dim Frm As New FrmCodigosPosAr
        AddOwnedForm(Frm)
        Seleccion2("SELECT CODPOS, POBPOS, PROPOS FROM F_POS")
        Filltable(Frm.DG, "PosPic") ' Llenamos el DG del archivo de Códigos postales
        Frm.ShowDialog()

El problema: Al tratar de actualizar los datos del FORM1 (si abro el form3 desde el form2), el datagrid toma los datos del datagrid del FORM3 y me reporta error por las columnas.
La información para el FORM1 Y FORM2 Las tomo usando MyConn y la del FORM3 la tomo desde Myconn2 (Están ubicadas en dos bases de datos diferentes, para ello uso dos conexiones diferentes: Myconn() y Myconn2()
He intentado con da.dispose etc, pero no he logrado hacerlo. Agradezco la ayuda.

Código:
'-------------------------------------
' Funciones usadas para llenar los diferentes DataGrid
'------------
' FillTable
'------------
 Public Sub Filltable(ByVal dtgrd As Object, ByVal design As String)
        Dim publictable As New DataTable
        Try
            da.SelectCommand = cmd
            da.Fill(publictable)
            dtgrd.DataSource = publictable
            Select Case design ' USAMOS "design" para llenar uno u otro DataGrid
                Case "PosPic"           ' Archivo Codigos postales
                    dtgrd.Columns(0).headertext = "Código"
                    dtgrd.Columns(1).headertext = "Población"
                    dtgrd.Columns(2).headertext = "Provincia"
                    ' el ancho de las columnas
                    dtgrd.Columns(0).Width = 60
                    dtgrd.Columns(1).Width = 220
                    dtgrd.Columns(2).Width = 220
                Case "CliPic"           ' Archivo de clientes
                    dtgrd.Columns(0).HeaderText = "Cod"
                    dtgrd.Columns(2).HeaderText = "CC/NIT"
                    dtgrd.Columns(3).HeaderText = "Nombre Fiscal"
                    dtgrd.Columns(4).HeaderText = "Nombre comercial"
                    dtgrd.Columns(5).HeaderText = "Domicilio"
                    dtgrd.Columns(9).HeaderText = "Teléfono"
                    dtgrd.Columns(11).HeaderText = "Movil"
                    ' Los demàs no se muestran
                    dtgrd.Columns(1).Visible = False
                    dtgrd.Columns(6).Visible = False
                    dtgrd.Columns(7).Visible = False
    ' ....
            End Select
        Catch ex As Exception
            MsgBox("Error al cargar: " & ex.Message, MsgBoxStyle.Information)
        End Try
        da.Dispose()
    End Sub
' -----------------
' Funciones Selección
' -----------------
    Public Sub Seleccion(ByVal sql As String)
        Try
            con.Open()
            With cmd
                .Connection = con
                .CommandText = sql
            End With

        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Emilio 2020 | TPV")

        End Try
        con.Close()
        da.Dispose()
    End Sub
'-------------------------------------
    Public Sub Seleccion2(ByVal sql As String)
        Try
            con2.Open()
            With cmd
                .Connection = con2
                .CommandText = sql
            End With

        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Emilio 2020 | TPV")
        End Try
        con2.Close()
        da2.Dispose()

    End Sub
'-------------------
Module publicvariable
    Public con As OleDb.OleDbConnection = Myconn()
    Public con2 As OleDb.OleDbConnection = Myconn2()
End Module
'------------------------
Module DB
    Public Function Myconn() As OleDb.OleDbConnection
        Return New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\3122019.mdb")
    End Function
    Public Function Myconn2() As OleDb.OleDbConnection
        Return New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\General.mdb")
    End Function
End Module
'*************************************

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines