Consulta SQL entre tres tablas
Buenas, estoy manipulando una base de datos en visual basic 6.0, y estoy usando sql.
Tengo 3 tablas.
Escuelas = *CodigoEscuela + NombreEscuela + Direccion
Contactos = CodigoEscuela + Contacto + Telefono
Catalogos = CodigoEscuela + NombreCatalogo + Fecha
Quiero generar una consulta donde pueda obtener todos los campos de las 3 tablas donde NombreEscuela = EBG14. Estoy usando esto pero no me da resultado...
"SELECT Escuelas.* , Contactos.* , Catalogos.* FROM Escuelas,Contactos,Catalogos WHERE Escuelas.NombreEscuela = '" & lstEscuelas.Text & "' AND (Escuelas.CodigoEscuela = Contactos.CodigoEscuela) AND (Escuelas.CodigoEscuela = Catalogos.CodigoEscuela)"
Esta consulta me funciona a medias, porque luego trato de cargar todos los campos de la tabla Contactos y me repite siempre el mismo registro, cuando con catálogos y Escuelas no tengo ningún problema,,,
Dim intMatriz as Integer
intMatriz% = 0
'Cargo en los textbox los campo de la tabla Contactos
With rstEscuelas
.MoveFirst
Do While Not .EOF
For intMatriz% = 0 To 2
If Not IsNull(.Fields("Contactos.CodigoEscuela")) Then
txtContacto_Codigo(intMatriz%).Text = .Fields("Contactos.CodigoEscuela")
Else
txtContacto_Codigo(intMatriz%).Text = ""
End If
If Not IsNull(.Fields("Contacto")) Then
txtContacto_Nombre(intMatriz%).Text = .Fields("Contacto")
Else
txtContacto_Nombre(intMatriz%).Text = ""
End If
If Not IsNull(.Fields("Telefono")) Then
txtContacto_Telefono(intMatriz%).Text = .Fields("Telefono")
Else
txtContacto_Telefono(intMatriz%).Text = ""
End If
If Not IsNull(.Fields("Observacion")) Then
txtContacto_Observacion(intMatriz%).Text = .Fields("Observacion")
Else
txtContacto_Observacion(intMatriz%).Text = ""
End If
.MoveNext
Next intMatriz%
Loop
End With
Es mi primera ves con sql y bases relacionales, así que cualquier consejo no está de más. Este post ya lo publique en otro sitio del foro y no si debería darlo de baja porque me parece que este es lugar idea...
Desde ya muchas gracias
Chem@!
Tengo 3 tablas.
Escuelas = *CodigoEscuela + NombreEscuela + Direccion
Contactos = CodigoEscuela + Contacto + Telefono
Catalogos = CodigoEscuela + NombreCatalogo + Fecha
Quiero generar una consulta donde pueda obtener todos los campos de las 3 tablas donde NombreEscuela = EBG14. Estoy usando esto pero no me da resultado...
"SELECT Escuelas.* , Contactos.* , Catalogos.* FROM Escuelas,Contactos,Catalogos WHERE Escuelas.NombreEscuela = '" & lstEscuelas.Text & "' AND (Escuelas.CodigoEscuela = Contactos.CodigoEscuela) AND (Escuelas.CodigoEscuela = Catalogos.CodigoEscuela)"
Esta consulta me funciona a medias, porque luego trato de cargar todos los campos de la tabla Contactos y me repite siempre el mismo registro, cuando con catálogos y Escuelas no tengo ningún problema,,,
Dim intMatriz as Integer
intMatriz% = 0
'Cargo en los textbox los campo de la tabla Contactos
With rstEscuelas
.MoveFirst
Do While Not .EOF
For intMatriz% = 0 To 2
If Not IsNull(.Fields("Contactos.CodigoEscuela")) Then
txtContacto_Codigo(intMatriz%).Text = .Fields("Contactos.CodigoEscuela")
Else
txtContacto_Codigo(intMatriz%).Text = ""
End If
If Not IsNull(.Fields("Contacto")) Then
txtContacto_Nombre(intMatriz%).Text = .Fields("Contacto")
Else
txtContacto_Nombre(intMatriz%).Text = ""
End If
If Not IsNull(.Fields("Telefono")) Then
txtContacto_Telefono(intMatriz%).Text = .Fields("Telefono")
Else
txtContacto_Telefono(intMatriz%).Text = ""
End If
If Not IsNull(.Fields("Observacion")) Then
txtContacto_Observacion(intMatriz%).Text = .Fields("Observacion")
Else
txtContacto_Observacion(intMatriz%).Text = ""
End If
.MoveNext
Next intMatriz%
Loop
End With
Es mi primera ves con sql y bases relacionales, así que cualquier consejo no está de más. Este post ya lo publique en otro sitio del foro y no si debería darlo de baja porque me parece que este es lugar idea...
Desde ya muchas gracias
Chem@!
1 respuesta
Respuesta de luis45ccs
1