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
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
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.
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 [Seleccionar]
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 [Seleccionar]
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 [Seleccionar]
'-------------------------------------
' 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
'*************************************