Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-02-2009
Avatar de El Mike
El Mike El Mike is offline
Miembro
 
Registrado: feb 2008
Ubicación: Los Mochis, Sinaloa, Mexico
Posts: 15
Poder: 0
El Mike Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 05-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #3  
Antiguo 05-02-2009
Avatar de El Mike
El Mike El Mike is offline
Miembro
 
Registrado: feb 2008
Ubicación: Los Mochis, Sinaloa, Mexico
Posts: 15
Poder: 0
El Mike Va por buen camino
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!!
Responder Con Cita
  #4  
Antiguo 05-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por El Mike Ver Mensaje
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Saber número de registros distintos en una columna de una consulta. Angel Fernández Firebird e Interbase 17 06-11-2008 12:10:05
Distintos Fonts en distintos PC lucasarts_18 Windows 2 12-07-2007 05:18:09
Concatenacion de caracteres de distintos registros casandra Firebird e Interbase 10 17-08-2005 20:19:03
Iconos distintos en distintos escritorios. abel Linux 2 16-02-2004 14:55:35
ayuda con conteo de registros ramiretor Impresión 6 21-05-2003 17:43:50


La franja horaria es GMT +2. Ahora son las 02:22:48.


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
Copyright 1996-2007 Club Delphi