Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   conteo de registros distintos (https://www.clubdelphi.com/foros/showthread.php?t=63256)

El Mike 05-02-2009 20:52:53

conteo de registros distintos
 
hola amigos del club..

Estoy utilizando delphi 6, acces y ADO... explicare mi problema.

Tengo un consulta en SQL que hago por medio de un TADOQuery es una consulta sencilla que solo da como resultado datos entre fecha inicial y fechafinal.

Código Delphi [-]
QCR.Close;
   QCR.SQL.Clear;
   QCR.SQL.Add('SELECT * from envios');
   QCR.SQL.Add('Where (envios.linea = :lin) and (envios.fecha Between :Fecha1 and :Fecha2)');
    QCR.Parameters.ParamByName('Lin').Value:=frmfreportes.Edopcion.Text;
   QCR.Parameters.ParamByName('Fecha1').Value:=strtodate(frmfreportes.MCdesde.Text);
   QCR.Parameters.ParamByName('Fecha2').value:=strtodate(frmfreportes.MCHasta.Text);
   QCR.active:=true;

   QCR.Open;

pues bien... esta consulta funciona muy bien.. pero lo que intento hacer es que tengo un campo que se llama "estatus" el cual puede tener el valor de "ACEPTADO" o "RECHAZADO" y lo que quiero es contar cuantos estan aceptados y cuantos rechazados..

ya lo intente en el ondatachange del TDataSource

Código Delphi [-]
procedure TFRMReportes.DataSource1DataChange(Sender: TObject; Field: TField);
begin
 if (frmreportes.qcr.FieldByName('estatus2').AsString)='ACEPTADO' THEN
   BEGIN
          contOK:=ContOK+1;
   END;
  
   if (frmreportes.qcr.FieldByName('estatus2').AsString)='RECHAZADO' then
     begin
            contNG:=ContNG+1;
     end;
end;

pero los resultados que me dan no corresponden a las cantidades de los registros...

saludos... y gracias por su ayuda

roman 05-02-2009 20:59:09

Creo que lo mejor es hacer una consulta aparte:

Código SQL [-]
select estatus, count(estatus)
from envios
where
  envios.linea = :lin and
  envios.fecha Between :Fecha1 and :Fecha2
group by estatus

// Saludos

El Mike 05-02-2009 21:29:58

eso es ser rapido amigo roman!!!

hacer una consulta aparte es buena idea, pero me arrojaria la cantidad de registros del campo 'estatus'... mas lo k yo pretendo es que me diga cuantos registros de esa consulta estan "ACEPTADOS y cuantos estan "RECHAZADOS"...

Saludos y gracias!!

roman 05-02-2009 21:42:16

Cita:

Empezado por El Mike (Mensaje 337236)
cantidad de registros del campo 'estatus'

¿Qué entiendes por esto? Todos los registros tienen el campo estatus. Una consulta como la que te puse lo que te devuelve es un registro por cada valor distinto del campo estatus. Cada registro consta de dos campos; el primero corresponde a uno de los valores del campo estatus y el segundo al número de veces que aparece dicho valor.

// Saludos


La franja horaria es GMT +2. Ahora son las 10:10:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi