El problema que me esta poniendo los pelos de punta es este: Tengo un par de RadioGroup, que al evaluarlos me dan los parámetros para crear un informe... hasta ahi todo bien, gracias a la ayuda proporcionada por el foro. Pero ahora quiero lograr que si ninguno de los item de los RadioGroup ha sido marcado, entonces mandar un mensaje al usuario para pedirle que marque por lo menos una opción no importa de que RadioGroup sea.
Para lograr esto estoy usando el siguiente código:
Código Delphi
[-] if (radiogroup1.ItemIndex > -1) then
begin
if (radiogroup2.ItemIndex >-1) then
begin
with ADOQuery1 do
begin
Close;
SQL.Text:= 'SELECT * FROM MITABLA WHERE AÑO = :PANIO AND MES=:PMES';
Parameters.ParamByName('PANIO').Value:=RadioGroup1.Items[RadioGroup1.ItemIndex];
Parameters.ParamByName('PMES').Value:=RadioGroup2.Items[RadioGroup2.ItemIndex];
Open;
end;
Myreport.ShowReport(true);
end;
end
else
showmessage('elija por lo menos un parametro para el reporte');
Con esto me surgen dos problemas, primero el orden de los RadioGroup, ya debo que repetir las comparaciones. Es decir primero estoy comparando el RadioGroup1, con una serie de condicones... pero si no es este el que se elige primero tengo que repetir el código ahora iniciando con el RadioGroup2. El otro problema es que al estar usando if anidados tengo que repetir la comparacion para ver si solo se ha usado un RadioGroup o si se han usado los dos.
Espero haber explicado bien mi problema... no tengo idea de como solucionarlo, se me olvida mencionarlo todo este codigo lo tengo en el evento onclick de un botón que llama al reporte. Espero me puedan ayudar