PDA

Ver la Versión Completa : Saber Nº registros por grupo y mostrar


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

aposi
17-06-2014, 15:19:15
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
IBQuery1.Open;
nRegsGrupo:=IBQuery1.Fields[0].asInteger ; //Válido
CDSRopa1.Active:=True;
ShowMessage('Elementos Grupo:' + IntToSTr(nRegsGrupo) );


Primero tienes que abrir el query antes de ver el resultado :rolleyes:

bulc
17-06-2014, 15:40:54
Lo he probado y me alegra decir que funciona gracias a ti.
Saludos, bulc