hola amigos:
es primera vez que quiero tratar de obtener datos simultaneamente de dos tablas
tengo una db llamada Productos con dos tablas Ingresos y Precios
Ingresos tiene campos Id_ingreso auto incrementable, fecha, codigo, descripcion
Precios tiene campos Id_precio auto incrementable, Id_ingreso, PrecioDetalle, PrecioDocena
relacione el campo Id_ingreso en ambas tablas con integridad referencial, ahora
en ambas tablas he ingresado datos de esta forma:
Código:
'Establecer ruta de conexión
sBase = App.Path & "\" & "Productos.mdb"
Tabla = "Ingresos"
' Crear los objetos
Set cnn = New adodb.Connection
Set rst = New adodb.Recordset
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sBase
s = "SELECT * FROM " & Tabla
rst.Open s, cnn, adOpenDynamic, adLockOptimistic
rst.AddNew
rst!Id_ingreso = lbl_ID.Caption
rst!Fecha = DTPicker1.Value
rst!Codigo = Text1(0).Text
rst!Descripcion = Text1(1).Text
rst!Cantidad = Val(Text1(2).Text)
rst!Cunitario = Val(Text1(3).Text)
rst!Ctotal = Val(Text1(4).Text)
rst.Update
rst.Close
cnn.Close
Err = 0
Set rst = Nothing
Set cnn = Nothing
Código:
'Establecer ruta de conexión
sBase = App.Path & "\" & "Productos.mdb"
Tabla = "Precios"
' Crear los objetos
Set cnn = New adodb.Connection
Set rst = New adodb.Recordset
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sBase
s = "SELECT * FROM " & Tabla
rst.Open s, cnn, adOpenDynamic, adLockOptimistic
rst.AddNew
rst!Id_precio = lbl_IDprecio.Caption
rst!Id_ingreso = Text1(0).Text
rst!PrecioDetalle = Val(Text1(5).Text)
rst!PrecioDocena = Val(Text1(6).Text)
rst.Update
rst.Close
cnn.Close
Err = 0
Set rst = Nothing
Set cnn = Nothing
hasta ahi puedo ingresar en forma correcta
pero ahora necesito hacer una consulta que me involucre a las dos tablas a travez de los cambos relacionados Id_ingreso.
y francamente No tengo idea de como hacerlo
los resultados los muestro en un listview asi
Código:
Private Sub cargar()
'Establecer ruta de conexión
sBase = App.Path & "\" & "Productos.mdb"
Tabla = "Ingresos"
' Crear los objetos
Set cnn = New adodb.Connection
Set rst = New adodb.Recordset
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sBase
s = "SELECT * FROM " & Tabla & " "
rst.Open s, cnn, adOpenDynamic, adLockOptimistic
With rst
If (.BOF Or .EOF) Then
MsgBox "No existen registros en la db", vbCritical
Exit Sub
Else
ListView1.ListItems.Clear
.MoveFirst
Do While Not .EOF
ListView1.ListItems.Add , , .Fields("Id_ingreso") & ""
ListView1.ListItems(ListView1.ListItems.Count).SubItems(1) = .Fields("Codigo") & ""
ListView1.ListItems(ListView1.ListItems.Count).SubItems(2) = .Fields("Descripcion") & ""
ListView1.ListItems(ListView1.ListItems.Count).SubItems(3) = .Fields("Cunitario") & ""
.MoveNext
Loop
End If
End With
rst.Close
cnn.Close
Err = 0
Set rst = Nothing
Set cnn = Nothing
End Sub
ahora lo que deseo hacer es que al clicar en un item
me relaciones las dos db a travez del campo Id_ingreso y me muestre los resultados de ambas tablas
Código:
For i = ListView1.ListItems.Count To 1 Step -1
If ListView1.ListItems(i).Selected Then
y es aqui donde guateo, pues no se como conectar con las dos tablas ni como hacer la consulta simultanea
por favor les ruego me ayuden
muy agradecido de antemano
Bufalobill