function TForm3.GetValues(Senders:array of TObject; Var AValues:TMiData):Integer;
var
i:integer;
begin
SetLength(AValues,High(Senders)+1);
Result:=0;
for i := Low(Senders) to High(Senders) do
begin
AValues[i]:=-1;
if (TRadioGroup(Senders[i]).ItemIndex>-1) then
AValues[i]:=StrToInt(TRadioGroup(Senders[i]).Items[ TRadioGroup(Senders[i]).ItemIndex ]);
Inc(Result,AValues[i]);
end;
end;
procedure TForm3.BitBtn1Click(Sender: TObject);
var
AValues:TMiData;
i:Integer;
Prefix:string;
begin
if GetValues([RadioGroup1, RadioGroup2],AValues)<0 then
begin
ShowMessage('Sin selección');
Exit;
end;
With ADOQuery1 Do
Begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM A_CATALOGO WHERE ');
Prefix:='';
if AValues[0]>-1 then
begin
Prefix:=' AND';
SQL.Add(Format('(AÑO = %d)',[AValues[0]]));
end;
if AValues[1]>-1 then
begin
SQL.Add(Format('%s (MES = %d)',[Prefix, AValues[1]]));
Prefix:=' AND';
end;
Open;
End;
end;