FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Combinar Dos Dblookupcombobox
Hola a todos y muchas bendiciones
Estoy realizando un modulo de Inscripción de Estudiantes en Delphi 2009 con MySql, mi duda es la siguiente: La tabla inscripción contiene tres campos que se alimentan de tres tablas diferentes, estas tablas son: Ahora aqui le presento el modulo de inscripción donde contiene 3 DbLookUpCombobox (SERVICIO / TANDA, GRADO, SECCIÓN) que se van a llenar de esas tres tablas Explico, UN SERVICIO puede tener varios GRADOS y UN GRADO puede tener VARIAS SECCIONES Lo que quiero hacer es que cuando yo seleccione UN SERVICIO me muestre en el otro dblookupcombobox los grados que están asignados al servicio seleccionado. De la misma forma cuando seleccione UN GRADO me muestre en el otro dblookupcombobox las SECCIONES que le han sido asignadas a ese GRADO. espero haberme explicado, y espero sus respuestas, agradeciendo de antemano, cualquier ayuda brindada. |
#2
|
|||
|
|||
Buenas,
puedes usar en Dblookupcombobox el metodo onchange, o del datasource ondatachange. create 3 Tquery Q_Servicio creas los parametros SQL Select * from Servicio (al modificar aqui algo disparas el onchange para el sql de Q_Grado) Q_Grado le asignas el Masterdatasource de tu tabla Q_Servicio, masterfield el Servicios_ID (al modificar aqui algo disparas el onchange para el sql de Q_Seccion) creas los parametros SQL: Select * from grado where servicio_id = :servicio_id Q_Seccion y lo mismo de como en grado pero con la seccion. en teoria deberia de funcionar |
#3
|
|||
|
|||
Hola Rocksoft
lei tu comentario y le he buscado la vuelta, pero no entiendo que debo hacer, |
#4
|
||||
|
||||
Lo que apunta rocksoft me parece correcto
Podes usar cualquiera de los dos eventos que el te comenta (TDBLookupComboBox.OnChange, o bien TDataSource.OnDataChange) Estos eventos se disparan cuando cambia el registro seleccionado Luego es cuestion de traer de la otra tabla, por ejemplo GRADOS, todos los Grados que cumplan que GRADOS.Servicios_Id = SERVICIOS.Servidios_Id Eso lo haces usando una consulta o query SQL Asi que lo que debes hacer es, crear un componente query, realizar la consulta y asignar ese DataSet al TDBLookupComboBox que estas usando para seleccionar Grados |
#5
|
|||
|
|||
AgustinOrtu hola, excusa mi ignorancia, a cual datasource en el evento ondatachange debo colocarle el codigo, al datasource de servicios o grados????
|
#6
|
||||
|
||||
De acuerdo a lo que comentaste mas arriba, a ambos:
El TDataSource de Servicios va a disparar el evento cuando selecciones un Servicio: en ese momento cargas la tabla de Grados Osea que en el TDataSource de Servicios, en el evento OnDataChange deberias poner el codigo para llenar la tabla de Grados Cuando seleccionen un Grado, se va a disparar el evento para que llenes la tabla de Secciones Osea que en el TDataSource de Grados, en el evento OnDataChange deberias poner el codigo para llenar la tabla de Secciones |
#7
|
|||
|
|||
AgustinOrtu, hola
no me ha funcionado, no se si lo hice mal............si podrias hacer un ejempo, lo agradeceria mucho,, o si no tendre que trucear el programa quizas agregando un edit que me capture el id de servicios, y luego hacer la comparacion con ese edit. |
#8
|
||||
|
||||
Muestra el código y si da error cual y donde ocurre
|
#9
|
|||
|
|||
HOla, mira lo que tuve que hacer.........
en el evento Onclick del Dblookupcombobox correspondietne a SERVICIOS coloque el siguiente codigo
Le paso al edit1 el id de servicios que selecciono, luego con la consulta comparo el id de servicio de la tabla GRADOS con el numero que esta en el edit1. y asi me funciona..............un poco truqueao...que creen |
#10
|
||||
|
||||
Y como habias hecho antes que te daba error/no funcionaba? Eres el segundo hoy que le recomiendo que use parametros en sus comandos SQL
Creo que me voy a hacer una placa como la de Casimiro de los Tags |
#11
|
|||
|
|||
Buenas,
aparte de lo que te menciona AgustinOrtu, dos cositas si ya que haces lo de arriba en asignar un valor a un edit, lo que no es elegante ni tiene mucho sentido, mejor lo haces de esta manera:
lo segundo no uses el evento onclick, cada vez que pinches el Dblookupcombobox se dispara el codigo del query, usa como mencionando en el primer post: Cita:
|
#12
|
||||
|
||||
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como pasar datos de un DBLookupComboBox a otro DBLookupComboBox | francodelphi | Conexión con bases de datos | 3 | 30-11-2011 21:02:34 |
Tratar de combinar dblookupcombobox con radiogroup | aleja | Conexión con bases de datos | 2 | 13-06-2008 14:33:38 |
Combinar 2 imagenes en una | seoane | Trucos | 0 | 14-06-2006 13:19:15 |
Combinar tablas | jrcosta75 | Conexión con bases de datos | 1 | 19-02-2004 21:44:48 |
|