Llevo un par de días dando vueltas a este problema y no doy con la solución. A ver si alguien me puede orientar un poquito
Desde un formulario quiero realizar una consulta de los libros prestados de una biblioteca.
Las tablas Libros y Prestamos están en un archivo Access y sus columnas son:
Libros
Id_libro / Título / Autor
Prestamos
Nif_socio (de la tabla Socios) / Id_libro
Parte de mi código para la definición de conexión y consulta:
Código:
Private oConexion As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data source=C:\Biblioteca.mdb")
Private oDataAdapter As OleDbDataAdapter
Private oCommandBuilder As OleDbCommandBuilder
Private oDataSet As DataSet
Private SQL As String
Código:
Private Sub ConsultaBasePrestamos()
Me.SQL = "select * from Libros, Prestamos"
Me.oDataAdapter = New OleDbDataAdapter(Me.SQL, Me.oConexion)
Me.oCommandBuilder = New OleDbCommandBuilder(Me.oDataAdapter)
Me.oDataSet = New DataSet
Me.oConexion.Open()
Me.oDataAdapter.Fill(Me.oDataSet, "Prestamos")
Me.oDataAdapter.Fill(Me.oDataSet, "Libros")
Me.oConexion.Close()
Dim oDataRow0 As DataRow ' Variable para trabajar con las filas de Prestamos
Dim oDataRow1 As DataRow 'Variable apra trabajar con las filas de Libros
Dim oDataTable As DataTable ? 'Tabla para almacenar la consulta
' Procedimiento para obtener los libros prestados
For i As Integer = 0 To Me.oDataSet.Tables(0).Rows.Count - 1
oDataRow0 = Me.oDataSet.Tables(0).Rows(i)
For j As Integer = 0 To Me.oDataSet.Tables(1).Rows.Count - 1
oDataRow1 = Me.oDataSet.Tables(1).Rows(j)
If oDataRow0("Id_libro") = oDataRow1("Id_libro") Then
oDataTable = (oDataRow1.Table)
End If
Next
Next
End Sub
Al ejecutar me da el siguiente error: "La columna 'Id_libro' no pertenece a la tabla Prestamos."
La columna existe en la tabla, pero no sé por qué me da este error.
Alguien me puede ayudar?
Gracias