PDA

Ver la Versión Completa : consulta de parametros de 2combobox


kryna
28-03-2005, 15:23:56
:) Hola a Todos....
Muchas gracias por su ayuda

La instruccion
if (rgservicios.ItemIndex = 0) and (comboemergencia.ItemIndex in [0]) then

Funciona muy bien; el problema se me presenta cuando la consulta es mas grande, osea: Tengo en el combo rgservicios 3 opciones, sin embargo cuando el rgservicios=0; el comboemergencia tiene 6 opciones; entonces es con 6 las opciones con las que debe realizar la comparacion, y para cada caso se debe crear y mostrar un tabla en particular... estoy haciendolo con IF sin embargo aunque funciona muy bien tiene mucho codigo... sera que tengo que utilizar un WHILE DO o REPEAT UNTIL

:( Mi pregunta es como tengo que hacer estas comparaciones cuando rgservicios=0 y comboemergencia = 1,2,3,4,5 ó 6........ y a su vez cuando rgservicios=1 y combocomplementario= 1,2,3,4,5,6,7,8, ó 9...... y tambien rgservicios=2 y combohono= 1,2,3,4,5,6,7,8,9,10 ó 11....... como puedo hacer este modulo de una manera que sea muy funcional y sin tantos IF.

:confused: Ademas como hago para crear y mostrar la tabla, si tengo que utilizar Tquery, como la llamo desde mi programa sin que me genere errores.


Espero que me halla podido explicar y me puedan ayudar..

Gracias de antemano

roman
28-03-2005, 18:27:22
Espero que me halla podido explicar y me puedan ayudar..


Sinceramente no te has explicado muy bien. El problema es que presupones que todos estamos al tanto de tus mensajes y de lo que tu aplicación debe hacer.

En cuanto a lo primero, toma en cuenta que en estos foros se publican muchos hilos y no es posible guardar en la memoria todos ellos.

En cuanto a lo segundo, pasa muchas veces que para uno la pregunta es clara porque uno es el que está trabajando en el problema pero para otros la pregunta está descontextualizada.

Yo te propongo que nos describas con más cuidado lo que pretendes hacer para así poder pensar una mejor solución.

// Saludos

kryna
28-03-2005, 20:29:00
Hola...


Mi problema es el siguiente..

tengo 1radiogroup llamado rgservicios cuando este es 0.. me activa un combobox llamado comboemergencia.... comboemergencia tiene 6 opciones para la seleccion o1, o2, o3, o4, o5, o6....

Si rgservicios es 1 activa un combobox llamado combocomple que a su vez tiene algunas opciones para la seleccion.

Si rgservicios es 2 activa un combobox llamado combocombo que a su vez tiene algunas opciones para la seleccion.

si yo utilizo el siguiente codigo..

if (rgservicios.ItemIndex = 0) and (comboemergencia.ItemIndex in [0]) then
ds.DataSet := qryemergencia;
tabla1.Visible := true;

if (rgservicios.ItemIndex = 0) and (comboemergencia.ItemIndex in [1]) then
{muestra tablas}

if (rgservicios.ItemIndex = 0) and (comboemergencia.ItemIndex in [2]) then
{muestra tablas}

.
.
.
if (rgservicios.ItemIndex = 1) and (combocomple.ItemIndex in [6]) then
{muestra tablas}


if (rgservicios.ItemIndex = 1) and (combocomple.ItemIndex in [0]) then
{muestra tablas}

if (rgservicios.ItemIndex = 1) and (combocomple.ItemIndex in [1]) then
{muestra tablas}

if (rgservicios.ItemIndex = 1) and (combocomple.ItemIndex in [2]) then
{muestra tablas}

.
.
.
if (rgservicios.ItemIndex = 1) and (combocomple.ItemIndex in [9]) then
{muestra tablas}



if (rgservicios.ItemIndex = 2) and (combocombo.ItemIndex in [0]) then
{muestra tablas}

if (rgservicios.ItemIndex = 2) and (combocombo.ItemIndex in [1]) then
{muestra tablas}

if (rgservicios.ItemIndex = 2) and (combocombo.ItemIndex in [2]) then
{muestra tablas}

.
.
.
if (rgservicios.ItemIndex = 2) and (combocombo.ItemIndex in [15]) then
{muestra tablas}

Yo quisiera saber si no hay otra manera de hacer esto, para no utilizar tantos if anidados.

gracias

roman
29-03-2005, 08:17:39
tengo 1radiogroup llamado rgservicios cuando este es 0.. me activa un combobox llamado comboemergencia....

[...]

Si rgservicios es 1 activa un combobox llamado combocomple que a su vez tiene algunas opciones para la seleccion.

Si rgservicios es 2 activa un combobox llamado combocombo que a su vez tiene algunas opciones para la seleccion


Según entiendo de lo que describes, cada uno de los tres combos estará activo sólo si la correspondiente opción del RadioGroup está seleccionada.

Entonces no entiendo por qué quieres juntar todas las comprobaciones en un sólo lugar.

Tal como veo las cosas tienes que manejar un case en el evento OnClick del RadioGroup:


case rgservicios.ItemIndex of
0: { activas comboemergencia }
1: { activas combocomple }
2: { activas combocombo }
end;


y manejas las opciones de cada combo en su correspondiente evento OnChange:


procedure comboemergenciaChange(Sender: TObject);
begin
case comboemergencia.ItemIndex of
0: { muestras tabla para opción 0 }
1: { muestras tabla para opción 1 }
...
6: { muestras tabla para opción 6 }
end;
end;



procedure combocompleChange(Sender: TObject);
begin
case combocomple.ItemIndex of
0: { muestras tabla para opción 0 }
1: { muestras tabla para opción 1 }
...
9: { muestras tabla para opción 9 }
end;
end;



procedure combocomboChange(Sender: TObject);
begin
case combocombo.ItemIndex of
0: { muestras tabla para opción 0 }
1: { muestras tabla para opción 1 }
...
15: { muestras tabla para opción 15 }
end;
end;


en comboEmergenciaChange abarcas las opciones de tu primer bloque pues si se entra a este evento es porque rgservicios.ItemIndex = 0, en combocomple abarcas las opciones de tu segundo bloque pues si se entra a este evento es porque rgservicios.ItemIndex = 1 y en combocomboChange abarcas las opciones de tu tercer bloque pues si se entra a este evento es porque rgservicios.ItemIndex = 2.

// Saludos