Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2014, 02:21   #1
вася радугов
Форумчанин
 
Регистрация: 09.04.2011
Сообщений: 134
По умолчанию Построение графика в Delphi

Помогите, пожалуйста, построить график
У меня есть БД Access. В этой БД есть таблица " Продажи". Хочу построить по ней график продаж. Как сделать, чтобы можно было выбирать за какой месяц строить график ( за май, за апрель и т.п.) или за весь год ( т.е. за все месяцы).
Структура моей таблицы примерно такая:
Дата Сумма продаж
06.04.2014 2000
03.01.2014 698500
12.05.2014 10000
вася радугов вне форума Ответить с цитированием
Старый 18.05.2014, 12:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну сам график ты в курсе как строить? DBChart - и вперед. Там указываешь DataSource, откуда данные берутся и получаешь график.
Цитата:
Как сделать, чтобы можно было выбирать за какой месяц
А вот ты используй фильтрацию (если у тебя Table) или запрос (Если Query).
Тогда и график сам перестраиваться будет.
Например (грубо так)
Код:
with AdoQuery do begin
 active:=false;
 sql.text:='select * from таблица where month(Дата)=:mo';
 Parameters.ParamByName('mo').value:=Тут месяц, по которому фильтруется
 active:=true;
end;
При условии что DBChart подключен к тому же Датасету, который связан с AdoQuery.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.05.2014, 18:19   #3
вася радугов
Форумчанин
 
Регистрация: 09.04.2011
Сообщений: 134
По умолчанию

Возникла такая проблема. У компонента DBChart нет DataSource. Или может я не так понял?
вася радугов вне форума Ответить с цитированием
Старый 18.05.2014, 19:23   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Фу ты, ну не у него конкретно а у его Серий. Создавай же Series и у них указывай датасет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.05.2014, 20:47   #5
вася радугов
Форумчанин
 
Регистрация: 09.04.2011
Сообщений: 134
По умолчанию

Первый раз строю графики в Delphi, поэтому извините за глупые вопросы.
Попробовал пока строить без выбора конкретного месяца, а вообще со всеми данными из таблицы. Получилось так :
Код:

form10.Data.Close;
form10.data.SQL.Clear;
form10.data.SQL.Add('SELECT *');
 form10.data.SQL.Add('FROM racd');
 form10.data.Open;

 DBChart1.Legend.Visible:=false;
 form10.data.First;
 DBChart1.Series [0].Clear;
 while not data. eof do
 begin
 DBChart1.Series [0].Marks.style:=smsValue;
 DBChart1.series [0].Add(data.FieldValues['data'],data.FieldValues['summa']);
 form10.data.next;
 end;
end;
Но выходит ошибка list index out of bounds 0. С чем это связано? Данные в таблице есть, она непустая.
вася радугов вне форума Ответить с цитированием
Старый 19.05.2014, 23:23   #6
вася радугов
Форумчанин
 
Регистрация: 09.04.2011
Сообщений: 134
По умолчанию

Решил построить таким образом. В самом DBChart создал Series1, в Dataset выбрал свой запрос Query1, по Х-сумма, по У- дата продажи.
Только даты и сумма почему-то не из таблицы, а какие-то левые вообще. Как исправить?
Помогите, никогда до этого с DBChart не работал.
вася радугов вне форума Ответить с цитированием
Старый 20.05.2014, 00:04   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Решил построить таким образом. В самом DBChart создал Series1, в Dataset выбрал свой запрос Query1, по Х-сумма, по У- дата продажи
Абсолютно верно.
Цитата:
даты и сумма почему-то не из таблицы, а какие-то левые вообще.
А ты точно нужные поля выбрал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.05.2014, 00:42   #8
вася радугов
Форумчанин
 
Регистрация: 09.04.2011
Сообщений: 134
По умолчанию

Вот еще раз проверил, все правильно, но данные на графике не те
вася радугов вне форума Ответить с цитированием
Старый 20.05.2014, 08:37   #9
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от вася радугов Посмотреть сообщение
Вот еще раз проверил, все правильно, но данные на графике не те
Проверьте всё внимательно. Программа может выдать только те данные, выборка которых в ней заложена.
Если данные не те, то, скорее всего, или запрос берёт их не оттуда, откуда нужно, или Вы с ними что-то делаете в самом запросе или программе.
Streletz вне форума Ответить с цитированием
Старый 20.05.2014, 09:02   #10
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Вот еще раз проверил, все правильно, но данные на графике не те
Вероятно данные те, но вносишь их не правильно. Х и У не перепутал?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение графика Delphi azhigalieva Помощь студентам 2 12.12.2013 22:35
Построение графика в Delphi! Richik123 Помощь студентам 4 12.12.2012 21:51
построение графика по точкам Delphi Ilya_L Помощь студентам 1 22.11.2010 13:56
Построение графика [Delphi] StudeHt Помощь студентам 7 23.12.2009 21:11
Построение графика в Delphi сер4ей Помощь студентам 0 25.04.2009 15:15