Ver la Versión Completa : ¿Cómo crear un grafico TChart en base a un ADOQuery?
ciudad54
12-02-2016, 04:29:29
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:
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:
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);
...
http://s23.postimg.org/7tq8zy4tn/ciudad54.png
Saludos :)
ciudad54
13-02-2016, 00:43:01
Gracias, excelente tu aporte. También encontré una forma muy práctica:
Creo una Serie en el TChart
Doble clic a la Serie
Seleccione el tab DataSource
Seleccione en la lista a "Crosstab"
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.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.