![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 52
|
![]()
Помогите пожалуйста решить следующую проблему:
Имеется DBGrid (сведения о заказах продукции) и StringGrid. Необходимо было создать запрос, при щелчке на кнопку. Данный запрос должен подсчитать общую цену реализованной продукции за каждый месяц. Например, в мае было 10 заказов, нужно сложить их и вычислить общую сумму этих заказов в мае, и так за каждый месяц. Код нажатия на кнопку запроса: procedure TForm5.Button1Click(Sender: TObject); Var str: string; i: integer; begin StGrid1.Cells[0,0]:=' ПЕРИОД '; StGrid1.Cells[1,0]:=' ИТОГОВАЯ СУММА ЗА МЕСЯЦ '; StGrid1.ColWidths[1]:=200; //ширина столбца i:=1; while i<=12 do //заполняем ячейки StGrid1'а названиями месяцев begin StGrid1.Cells[0,i]:=mon[i]; i:=i+1; end; Form5.Table1.Active:=false; Form5.Table1.Active:=true; //строим запрос // SUM- стандартная функция вычисления суммы в запросе // Cost - столбец Стоимость // #39 - код символа ' // LIKE - зарезервированное слово в SQL. Определяет, совпадает ли указанная символьная строка с заданным шаблоном // знак % - любой символ // компонент DataSource, позволет сделать данные Table1 доступными для визуальных компонентов отображения данных i:=1; while i<=12 do begin str:='SELECT SUM(Cost) FROM '+#39+'sdelka.db'+#39+' WHERE DataS LIKE '+#39+'%.'+month[i]+'.%'+#39; //например '%.01.%' //SdelkiForm.Caption:=str; Query1.Close; Query1.SQL.Clear; Query1.SQL.Add(str); //добавляем строку str Query1.Open; DataSource1.DataSet:=Query1; if Query1.RecordCount <> 0 then begin StGrid1.Cells[1,i]:=Query1.Fields[0].Text; DataSource1.DataSet:=Query1; // отобразить рез-т выполнения запроса i:=i+1; end else begin ShowMessage('В БД нет записей, удовлетворяющих критерию запроса.'); DataSource1.DataSet:=Table1; end; end; end; При нажатие на кнопку запроса вычисляется общая сумма за каждый месяц в StringGrid, но теряются данные в DBGrid(((((((Остаются только названия полей DBGrid ![]() |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 52
|
![]()
и еще нужно создать кнопку Отмены этого запроса...
|
![]() |
![]() |
![]() |
#3 | ||
Форумчанин
Регистрация: 30.04.2010
Сообщений: 317
|
![]() Цитата:
Код:
Цитата:
Код:
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
|
||
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 52
|
![]()
DoDge_VipeR спасибо Вам огромное!!!!!!!!!! Работает все без единой ошибки!!!!!=))))))))))))))))))))))) ))))
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с DBGrid | flame33 | Помощь студентам | 3 | 12.01.2010 18:40 |
Проблема с DBGrid | Creeepy | БД в Delphi | 1 | 21.11.2009 20:09 |
Проблема с DBGrid | tattynaz | Общие вопросы Delphi | 11 | 20.08.2009 16:53 |
Проблема с DBGrid | rainbow | Общие вопросы Delphi | 1 | 02.10.2008 08:09 |
проблема с отображением DBGrid | gotex | БД в Delphi | 12 | 04.06.2008 01:06 |