Visual Basic - para expertos en sql

Life is soft - evento anual de software empresarial
 
Vista:

para expertos en sql

Publicado por sergio (54 intervenciones) el 12/05/2002 01:07:14
Hola a todos:

necesito hacer una consulta sql y traerm esos datos a un dbgrid. les explico tengo un ddcombo cargados con los nombres de carreras universitarias (sistemas, electronica, arquitectura, etc...)el dbcombo lo lleno desde una tabla llamada escuelas que contiene lo siguiente:

cod_escuelas descripcion
--------------------------------
1 arquitectura
2 civil
3 electronica
4 industrial
5 mecanica
6 sistemas


o.k. al seleccionar una de estas me debe mostrar en el dbgrid todos los alumnos que estudien la carrera que escoji en el dbcombo. el problema es el siguiente.hay otra tabla que es la principal llamada alumnos que contiene los siguientes campos: cedula, nombre, apellido, cod_escuelas, semestre, direccion, telefono y correo.

ahora bien cuando yo intriduzco estos datos atraves de un maestro en el campo alumnos.cod_escuelas se graba el codigo de la escuela (1,2,3..) dependiendo de la carrera que alla seleccionado.

bien aqui esta el problema. como hago para hacer la consulta si la descripcion del combo nunca va hacer igual que el campo alumnos.cod_escuelas, ya que si selecciono en el dbcombo sistemas nunca va a hacer igual que el campo alumnos.cod_escuelas que tendra el valor 6. bueno espero haberme explicado. gracias de antemano.

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

RE:para expertos en sql

Publicado por Christian (208 intervenciones) el 12/05/2002 02:33:25
No es un problema para expertos, sino para quienes tengan nocion de base de datos y de normalizacion. yo te recomiendo un concentrador de ambas tablas.

despues la consulta es de join en join.

Atte. Christian
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

RE:para expertos en sql

Publicado por Everth Brea (2 intervenciones) el 13/05/2002 20:21:37
por lo poco que entendi: lo npuedes hacer con una sub consulta ej:
select * from tabla1 where campo1 = (select * from tabla2); en la segunda parte de la consulta puedes definir la otra parte de lo que quieres...

Suerte...

pd: trata de explicarte mejor, la verdad no entendi muy bien tu punto.
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

Solucion!!!!

Publicado por Clark (10 intervenciones) el 14/05/2002 12:50:46
Amigo veo que estas ahogandote en un vaso con Agua.....

Si revisas bien el DbCombo tiene dos propiedades que son
ListField y BoundColumn.

...en ListField vas a guardar lo que el usuario va a ver... (Arquitectura...etc)
...en BoundColumn vas a guardar el codigo de cada uno de las escuelas (1,2,....etc)...

Aqui esta el codigo para que lo llenes...
La Variable Conexion es de tipo ADODB.CONNECTION
y debes estar conectado a la base de datos por este motor....
si no..... Tranquilo que hay otra solucion.... Recuerda que aqui estamos para resolver problemas...

Dim GStrSql AS String

Set Reg_TEMP = New ADODB.Recordset
GStrSql = "Select * From Tabla_Escuelas Order By Nombre_Escuela"
With Reg_TEMP
.ActiveConnection = Conexion
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Source = GStrSql
.Open
Set DbCombo.RowSource = Reg_TEMP
DbCombo.ListField = "Nombre_Escuela"
DbCombo.BoundColumn = "Codigo_Escuela"
DbCombo.Refresh
End With

Luego en el evento Click del DbCombo

GstrSql = "SELECT * FROM Estudiantes WHERE Codigo_Escuela = " & DbCombo.BoundText & ""
y con esta sentencia abres la base de datos y publicas lo que te traiga....

Si tienes algun problema... me puedes enviar un correo.. o por aqui como prefieras...

P.D. Si tienes Messenger mi correo es [email protected] sino... tranquilo....
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