Visual Basic - Mostrar 2 Tablas de un .mdb en un DataGrid

Life is soft - evento anual de software empresarial
 
Vista:

Mostrar 2 Tablas de un .mdb en un DataGrid

Publicado por Sologar (2 intervenciones) el 18/12/2015 20:17:03
Buenas tardes.
Lo que quiero hacer es:

* Seleccionar un .mdb

* Mostrar en un DataGrid 2 campos de Tabla1 y 1 de Tabla2

* Guardar esta nueva tabla como otra base de datos

Estoy estancado en el punto 2, puedo mostrar la tabla1 o tabla2 en el datagrid sin problemas, incluso cambiar el orden de las columnas, pero no logro hacer que me aparezcan 2 campos de la tabla1 y 1 de la tabla2.

He estado probando con INNER JOIN pero no me funciona, honestamente no sé que es lo que estoy haciendo mal.

Mi mdb tiene 2 tablas, cada tabla contiene los campos: Campo1, Campo2, Campo3.

quiero mostrar Tabla1.Campo1, Tabla1.Campo2, Tabla2.Campo3

Acá dejo el código, el cual se ejecuta al presionar un botón:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Dim openFile As New OpenFileDialog()
        openFile.FileName = ""
        openFile.Filter = "Microsoft Access Application (*.mdb)|*.mdb"
 
        Dim res As System.Windows.Forms.DialogResult = openFile.ShowDialog()
        If res = System.Windows.Forms.DialogResult.Cancel Then
            Return
        End If
 
        Dim CONNECT_STRING As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + openFile.FileName
        Dim cnn As New OleDbConnection(CONNECT_STRING)
        cnn.Open()
 
        Dim Sql As String = "SELECT Tabla1.Campo1, Tabla1.Campo2, Tabla1.Campo3"
        Sql += " FROM Tabla1 INNER JOIN Tabla2 ON Tabla1.Campo3 = Tabla2.Campo3"
 
        Dim cmd As New OleDbCommand(Sql, cnn)
        Dim da As New OleDb.OleDbDataAdapter(cmd)
        Dim ds As New DataSet
        da = New OleDbDataAdapter(cmd)
        da.Fill(ds, "joined")
        dGrid.DataSource = ds.Tables("joined")
        cnn.Close()


Como dije, mostrar información de una sola tabla no me dá problemas, pero al agregar Inner Join, me muestra la tabla vacía.

Gracias por la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo
Val: 8
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Mostrar 2 Tablas de un .mdb en un DataGrid

Publicado por Wilfredo Patricio Castillo (260 intervenciones) el 19/12/2015 20:53:01
Hola

Para mostrar datos de las 2 tablas, deben existir datos en ambas tablas y poder relacionarla por un campo en común, para aliviarte el problema prueba a hacerte una vista con los campos que necesitas, eso lo logras en el diseñador de consultas.

Pero si aún lo quieres hacer a mano pues puedes hacer de la siguiente manera:

Select A.Campo1,A.Campo2,B.Campo3 From Tabla1 As A Inner Join Tabla2 As B On A.Campo3=B.Campo3

Con eso te deberia funcionar.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Resuelto

Publicado por Sologar (2 intervenciones) el 21/12/2015 19:34:02
Muhas gracias por responder, ya he arreglado mi problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar