Hola de nuevo.
Para no dejarte así, sin nada te pongo una opción que dada la hora y el estado de mis neuronas, no creo sea la mejor.
Código Delphi
[-]
...
if (RadioGroup1.ItemIndex = -1)and(RadioGroup2.ItemIndex = -1) then
begin
MessageBox(Handle,'Al menos una opción debe estar seleccionada','',
MB_ICONERROR+MB_OK);
Exit;
end;
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM A_CATALOGO WHERE ');
if (RadioGroup1.ItemIndex <> -1) and (RadioGroup2.ItemIndex <> -1) then
SQL.Add('AÑO = ' + QuotedStr(RadioGroup1.Items[RadioGroup1.ItemIndex])+
' AND MES = '+ QuotedStr(RadioGroup2.Items[RadioGroup2.ItemIndex]));
if (RadioGroup1.ItemIndex <> -1) and (RadioGroup2.ItemIndex = -1) then
SQL.Add('AÑO = ' + QuotedStr(RadioGroup1.Items[RadioGroup1.ItemIndex]));
if (RadioGroup1.ItemIndex = -1) and (RadioGroup2.ItemIndex <> -1) then
SQL.Add('MES = ' + QuotedStr(RadioGroup2.Items[RadioGroup2.ItemIndex]));
Open;
end;
...
El código sería más simple si por ejemplo se usaran Combobox.
Saludos.