Форум по Delphi программированию

 



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.06.2015, 01:14
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию сложение строк

Здравствуйте!
хочу сложить 4 столбца и в пятом вывести сумму
т.е. в строчках данные складывать
в formcreate запихнул
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 PageControl1.Brush.Color := clGradientInactiveCaption;
TabSheet1.Brush.Color := clGradientInactiveCaption;
TabSheet2.Brush.Color := clGradientInactiveCaption;
TabSheet3.Brush.Color := clGradientInactiveCaption;
TabSheet4.Brush.Color := clGradientInactiveCaption;
TabSheet5.Brush.Color := clGradientInactiveCaption;
//подсчёт ставок
 ADOQuery2.Close;
ADOQuery2.SQL.Clear;
AdoQuery2.Sql.Text :='select Glav+SM+SSH+RZO as ObH from Clear';
    AdoQuery2.Open;
end;
не работает.
в adoquery - sql - string "select * from clear" прописал
и табличку выдаёт.
вот что хочу сделать, сложить строчки, в последней сумма, потом надо сложить весь столбец , получится "всего", из edit (там будет цифра) вычесть "всего" и получим "остаток" запихнуть "остаток" в label.caption.
интернет не помог. 2 дня, даже на интуите искал, в SQL-EX.ru решения ну нет ни одного примера. есть с переборками ,но уж начал с sql запросами, то надо весь проект так сделать, спасибо за понимание!
  #2  
Старый 28.06.2015, 09:00
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,026
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вроде можно и сложением, но только не поперек, а вдоль
Код:
with ADOQuery2 do
  begin
   Close;
   SQL.Clear;
   SQL.Text:='SELECT SUM(Glav) + SUM(SM) + SUM(SSH) + SUM(RZO) FROM Clear';
   Open;
   Label1.Caption:= IntToStr(StrToInt(Edit1.Text) - Fields[0].AsInteger);
  end;
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
nikotan (28.06.2015)
  #3  
Старый 28.06.2015, 09:39
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

всё отлично работает, откуда Вы вот берёте эти коды? если есть книжка дайте пожалуйста, спасибо!
вот две проблемки, теперь нет таблицы со ставками, а только одна колонка "EXPR1000" к которой сумма всех использованных ставок(может её в LAbel2.caption вынести?) я же их должен видеть, у кого сколько и к чему относятся, например Петров 1 основная + 0,5 совмещение. и в последней колонке "ObH" общее должно быть, чтоб я видел сколько у кого("ObH" колонка есть, самая последняя). А вторая если изменить Edit1 (общее кол-во ставок) , то остаток почему-то не меняется, блин пока писал сам догадался, повторить код в событии Edit1Change, работает. Ну блин начинается что-то получатся! СПАСИБО!
  #4  
Старый 28.06.2015, 09:42
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,503
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Цитата:
Сообщение от nikotan
всё отлично работает, откуда Вы вот берёте эти коды? если есть книжка дайте пожалуйста, спасибо!
Дак это основы SQL. Обычная ф-я редуцирования.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
  #5  
Старый 28.06.2015, 10:05
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

может и обычная, но вот правила писанины(синтаксис) не понятны
'SELECT SUM(Glav) + SUM(SM) + SUM(SSH) + SUM(RZO) FROM Clear'
в интернете другие способы, но не работают.
как появилась новая колонка колонка "EXPR1000", не понимаю

IntToStr(StrToInt(Edit1.Text) - Fields[0].AsInteger)
о таком я вообще не знал,

а Вы говорите обычная, я сначала на одном компе Ваши код пробую как заработает, потом иду по памяти на другом делаю, чтоб понять и выучить! ну типа стараюсь что ли.
  #6  
Старый 28.06.2015, 10:07
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

короче с синтаксисом у меня проблемы, и не всегда понимаю как работает код delphi.
  #7  
Старый 28.06.2015, 20:24
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию сумма строк

есть 6 колонок, 4 из них надо сложить и вывести в последнюю
можно убрать последнюю колонку и использовать "as summa"
но почему то у меня не считает и в последней колонке пусто
Код:
SQL.Text:='SELECT Fio, Glav , SM , SSH , RZO, Glav + SM + SSH + RZO as summa FROM Clear';
Закрытая тема



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2020

ВКонтакте   Facebook   Twitter