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:
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
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


0