bulc
17-06-2014, 12:17:25
Hola a todos. Tengo puesto en el ClientDataSet un PacketRecords de 100 registros. Intento obtener el nº de registro de un grupo y obtengo el dato mediante el uso de comandos SQL pero en Delphi me sale error 'Arguement out of range'. Algo hago mal pero no sé qué exactamente. El código es:
procedure TForm1.BitBtn8Click(Sender: TObject);
Var
nRegsGrupo: Integer;
begin
if sGrupo='' then begin // sGrupo es una variable global.
ShowMessage('Selecciona Grupo...');
Exit;
end;
IBQuery1.Close;
CDSRopa1.Active:=False;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('SELECT COUNT(*) FROM ROPA WHERE GRUPO=:sGrupo') ;
IBQuery1.ParamByName('sGrupo').asString:= sGrupo; //Válido
nRegsGrupo:=IBQuery1.Fields[0].asInteger ; //Válido
CDSRopa1.Active:=True;
ShowMessage('Elementos Grupo:' + IntToSTr(nRegsGrupo) );
IBQuery1.Open;
end;
Gracias por la ayuda.
bulc
procedure TForm1.BitBtn8Click(Sender: TObject);
Var
nRegsGrupo: Integer;
begin
if sGrupo='' then begin // sGrupo es una variable global.
ShowMessage('Selecciona Grupo...');
Exit;
end;
IBQuery1.Close;
CDSRopa1.Active:=False;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('SELECT COUNT(*) FROM ROPA WHERE GRUPO=:sGrupo') ;
IBQuery1.ParamByName('sGrupo').asString:= sGrupo; //Válido
nRegsGrupo:=IBQuery1.Fields[0].asInteger ; //Válido
CDSRopa1.Active:=True;
ShowMessage('Elementos Grupo:' + IntToSTr(nRegsGrupo) );
IBQuery1.Open;
end;
Gracias por la ayuda.
bulc