Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-11-2019
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Dicho de otra forma: Tengo que sacar todos los años para todos los partidos, independientemente de si tienen o no votos registrados.
Responder Con Cita
  #2  
Antiguo 07-11-2019
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Como vía query no se me ocurre como sacar todos los años para todos los partidos, al margen de si tiene o nom votos registrados, lo h hecho de una forma un poco más pedestre, pero funciona.
Código:
Chart1->Chart3DPercent                 = 10;
Chart1->Title->Font->Style             = TFontStyles() << fsBold;
Chart1->BottomAxis->Title->Caption     = "Años";
Chart1->BottomAxis->Title->Font->Style = TFontStyles() << fsBold;
Chart1->BottomAxis->Labels             = fMenu->Auxiliar->FieldByName("Fecha")->AsInteger;
Chart1->LeftAxis->Title->Caption       = "Votos";
Chart1->LeftAxis->Title->Font->Style   = TFontStyles() << fsBold;

cAux = "";
for (; !fMenu->Auxiliar->Eof; fMenu->Auxiliar->Next())
{
     if (fMenu->Auxiliar->FieldByName("Sigla")->AsString != cAux)
     {
          pItem = Evolucion->Items->Add();
          pItem->Caption = (cAux = fMenu->Auxiliar->FieldByName("Sigla")->AsString);
          for (nItem = 1; nItem < Evolucion->Columns->Count; nItem ++)
               pItem->SubItems->Add("");
     }

     for (nItem = 1; nItem < Evolucion->Columns->Count; nItem ++)
          if (Evolucion->Columns->Items[nItem]->Caption == IntToStr(fMenu->Auxiliar->FieldByName("Fecha")->AsInteger))
               pItem->SubItems->Strings[nItem - 1] = FormatFloat("###,##0", fMenu->Auxiliar->FieldByName("Votos")->AsInteger);
}

for (int nRow = 0; nRow < Evolucion->Items->Count; nRow ++)
{
     fMenu->Auxiliar->First();
     for (; !fMenu->Auxiliar->Eof; fMenu->Auxiliar->Next())
     {
          if (Evolucion->Items->Item[nRow]->Caption == fMenu->Auxiliar->FieldByName("Sigla")->AsString)
          {
               Chart1->AddSeries(&TLineSeries(Chart1));
               Chart1->Series[Chart1->SeriesCount() - 1]->Title       = fMenu->Auxiliar->FieldByName("Sigla")->AsString;
               Chart1->Series[Chart1->SeriesCount() - 1]->SeriesColor = (TColor)fMenu->Auxiliar->FieldByName("Color")->AsInteger;
               break;
          }
     }

     for (int nCol = 1; nCol < Evolucion->Columns->Count; nCol ++)
          Chart1->Series[Chart1->SeriesCount() - 1]->Add(StrToIntDef(StringReplace(Evolucion->Items->Item[nRow]->SubItems->Strings[nCol - 1], ".", "", oReplace), 0),
                                                         StrToInt(Evolucion->Columns->Items[nCol]->Caption),
                                                         (TColor)fMenu->Auxiliar->FieldByName("Color")->AsInteger);
}
No es la forma más elegante, pero funciona-
Responder Con Cita
  #3  
Antiguo 07-11-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.106
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
En el select, si la suma es null puedes hacer que devuelva cero:
Código SQL [-]
 coalesce(sum(a.votos),0) votos
Responder Con Cita
  #4  
Antiguo 08-11-2019
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
En el select, si la suma es null puedes hacer que devuelva cero:
Código SQL [-]
 coalesce(sum(a.votos),0) votos
El problema no es que la suma sea cero, el problema es que no todos tiene resultados todos los años. Por ejemplo:

Si te fijas hay partidos que como no se presentaron en unos años no pueden tener resultados y haría falta que aparecieran aunque no tengan resultado.
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
Error al definir una FOREIGN KEY Angel.Matilla Firebird e Interbase 21 12-04-2018 09:56:46
Definir impresora Carliviris Varios 6 11-01-2008 03:12:17
definir campos de busqueda fedelphi Firebird e Interbase 2 11-04-2007 21:46:51
Problemas al definir UDF (Funciones en una DLL) pcicom Firebird e Interbase 2 21-06-2006 05:49:15
Definir Mis Propias Clases jberaza OOP 1 27-09-2004 17:11:08


La franja horaria es GMT +2. Ahora son las 20:41:01.


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