PDA

Ver la Versión Completa : cosulta mediante DBComboBox y TRadioGroup


kryna
22-03-2005, 15:55:43
Hola .....

Estoy trabajando en delphi y mi gestor es paradox.........
Mi duda es la siguiente tengo q comparar los items un DBComboBox y un TRadioGroup, osea por ejemplo TRadioGroup es 0 y DBComboBox es 0; entonces me tiene q llamar un Tquery para realizar un busqueda en 2tablas y mostrarme los datos...pero no se como hacerlo.......

Podrian ayudarme por favor y mandarme un ejemplo de esto..........

Lepe
22-03-2005, 16:21:01
aqui tienes dos formas de hacerlo (http://www.clubdelphi.com/foros/showthread.php?t=12305&highlight=sql.text) y una "discusión" sobre la mejor forma de hacerlo, "todo en 1" ;)

Saludos

kryna
23-03-2005, 15:17:04
Osea mi pregunta es:

tengo un TRadioGroup y un DBComboBox y necesito que cuando se cumpla las condiciones dadas ejecute la accion que en este caso seri mostrarme una tabla
el codigo que tengo es

CASE rgservicios.ItemIndex OF
0: instrucc1
1: instrucc2
2: instrucc3

end; // CASE RGSERVICIOS

CASE comboemergencia.ItemIndex OF
0: instrucc1
1: instrucc2
2: instrucc3

end; // CASE COMBOEMERGENCIA

sin embargo yo quiero q cuando rgservicios.ItemIndex sea 0 y comboemergencia.ItemIndex sea 0 ó 1 ó 2 se muestre una tabla
pero no se como hacer esta comparacion

por fa necesito ayuda

roman
23-03-2005, 15:31:02
quiero q cuando rgservicios.ItemIndex sea 0 y comboemergencia.ItemIndex sea 0 ó 1 ó 2 se muestre una tabla




if (rgservicios.ItemIndex = 0) and (comboemergencia.ItemIndex in [0, 1, 2]) then
{ mostrar tabla }


// Saludos

kryna
23-03-2005, 16:17:43
Perfecto gracias

Ahora como hago para crear y mostrar esta tabla.

Lo que pasa es que tengo tres tabla TB1, TB2, TB3 y tengo que crear y mostrar una tabla que tenga algunos campos de TB2 y TB3. osea

TB1 (C1, c2, c3,c4)
TB2 (c1, c5, c6)
TB3 (c5,c7)

tablaamostrar (TB1.c1, TB3.c5) con todos los datos de estas tablas

como tendria que hacerlo

gracias de ante mano

cuburu
26-03-2005, 06:29:52
:p

Hola, bueno, así como lo entiendo lo que necesitas es mostrar la combinación de las 3 tablas en una sola. Si tu respuesta es afirmativa lo que necesitas hacer es utilizar un TQuery, en el DatabaseName colocar el alias de tus tablas y a continuación en la propiedad SQL colocar la una consulta sql parecida a esta:

select TB1.C1, TB1.C2, TB1.C3, TB1.C4, TB2.C1, TB2.C5, TB2.C6, TB3.C5, TB3.C7 fromTB1, TB2, TB3 where TB1.[campo en comun] = TB2.[campo en común] and TB2.[campo en comun] = TB3.[campo en comun]

y asi es como funciona esto. Es una manera sencilla de hacerlo pero hay de muchas otras que puede resultar mejor, com utilizando el evento Params del TQuery, en fin haz la prueba y espero te siva, suerte ;>

kryna
28-03-2005, 17:32:51
hola gracias por tu ayuda...

ahora bien utilizo esa intruccuin en un tquery. pero como hago para llamar el tquery programa y como para que me muestre esa tabla que combina mis tres tablas principales.........

gracias de ante mano

Lepe
28-03-2005, 17:45:49
No queda más remedio que usar un TDBGrid para mostrar los resultados de esa consulta.

Pones un TDataSource al lado del query.
Selecciona el Datasource y en Inspector de objetos, enlaza esta propiedad:

DataSource1.Dataset --> Query1

y ahora enlazas el grid con el Datasource:
Seleccionas el Grid, y enlazas la propiedad datasource:

DBGrid1.Datasource --> Datasource1

Así estas diciendo que el Grid, va a tomar los datos del Datasource, y éste a su vez los cogerá del query.

Por último, solo tienes que ejecutar

Query1.Open

Para ver los resultados en el grid.

Un saludo