Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   ¿Cómo crear un grafico TChart en base a un ADOQuery? (https://www.clubdelphi.com/foros/showthread.php?t=89816)

ciudad54 12-02-2016 04:29:29

¿Cómo crear un grafico TChart en base a un ADOQuery?
 
Tengo una consulta ADOQuery de una tabla de Pacientes, dicha consulta me muestra los registros del campo ARS (Aseguradora de Riesgos de Salud) y muestra su descripcion, y la suma de dichos registros. La idea es crear un gráfico, ejemplo:

Código SQL [-]
SELECT a.detalle, COUNT(*) AS TOTALARS
FROM GES_PACIENTE p
INNER JOIN GES_ARS a ON (p.ars = a.ars)
GROUP BY a.detalle
ORDER BY a.detalle

Ejemplo
ARS HUMANO 4000
ARS SENASA 3000
ARS PALIC 600

Como puedo enlazar mi ADOQuery con el TChart?

Gracias!

ecfisa 12-02-2016 23:38:57

Hola ciudad54.

Usando un TChart vas a tener que recorrer el resultado de tu consulta. Un ejemplo al vuelo:
Código Delphi [-]
procedure MakeChart(aDataSet: TDataSet; Chart: TChart);
var
  bs: TBarSeries;
begin
  aDataSet.First;
  bs := TBarSeries.Create(Chart);
  while not aDataSet.Eof do
  begin
    bs.Add(aDataSet.FieldByName('TOTALARS').AsInteger,
      aDataSet.FieldByName('DETALLE').AsString, clRed);
    Chart.AddSeries(bs);
    aDataSet.Next;
  end;
end;

// Llamada:
...
begin
  MakeChart(IBQuery1, Chart1);
...



Saludos :)

ciudad54 13-02-2016 00:43:01

Gracias, excelente tu aporte. También encontré una forma muy práctica:
  1. Creo una Serie en el TChart
  2. Doble clic a la Serie
  3. Seleccione el tab DataSource
  4. Seleccione en la lista a "Crosstab"
  5. En Dataset, elijo el DataSource, ADOQuery, cualquier componente que contenga sus datos

Previamente se debe crear (en mi caso) un Query con la agrupación y conteo de los datos que solicitaba. En este curso sobre SQL, Lección 7 pude entender como hacer mi consulta: deletesql.com/viewforum.php?f=5&sid=2654ace32886be4f7e79d8eb288d58fc

Espero sea también de aporte.


La franja horaria es GMT +2. Ahora son las 05:33:13.

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