Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 8

Сумма полей в edit

19.06.2016, 23:02. Показов 1692. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi 2010 + firebird 2.5
имеется таблица в которой хранится список значений по датам
вопрос: как эти самые данные просуммировать с одной даты по другую, выбираемую в datepicker'ах и вывести в эдит
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.06.2016, 23:02
Ответы с готовыми решениями:

Создать таблицу в Access с названиями полей из edit' ов
Привет всем! CREATE TABLE успеваемость (код AUTOINCREMENT(1, 1) PRIMARY KEY,'+EDIT1.Text+' text (20),'+EDIT2.Text+' text...

Учет недвижимости: связь полей базы с combobox и edit
Ув. форумчане, вообщем делаю програму для агентства недвижимости, оболочка сама готова, базу подтягивает в DBgrid с MS ACCESS. Мораль сей...

Запись в файл из полей Edit и проверка Edit на пустоту
TForm1 *Form1; int Ext=0; int i; //--------------------------------------------------------------------------- __fastcall...

12
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
19.06.2016, 23:11
Цитата Сообщение от dedmakap Посмотреть сообщение
как эти самые данные просуммировать с одной даты по другую
Запросом, разумеется.
0
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 8
19.06.2016, 23:21  [ТС]
а как передавать переменные из sql запроса в делфу?
и пример запроса, если не затруднит, напишите
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
19.06.2016, 23:40
Не "переменные", а значения, которые вернул запрос.
К примеру,
Delphi
1
2
3
  IBQuery1.Open; 
  if not IBQuery1.Eof then
    V := IBQuery1['имяполя']; //значение поля из первой строки, результата, возвращенного запросом
Добавлено через 12 минут
Цитата Сообщение от dedmakap Посмотреть сообщение
и пример запроса
Пример запроса можно представить, если будет информация о структуре таблиц базы данных.
0
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 8
19.06.2016, 23:44  [ТС]
а как теперь сделать условие по дате?
извините, я в sql совсем неочень

простая таблица в ней 4 столбца, 3 столбца параметров и столбец с датой, никаких наворотов вроде ключевых полей нет
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
20.06.2016, 00:10
Цитата Сообщение от dedmakap Посмотреть сообщение
извините, я в sql совсем неочень
А что мешает изучать? Через форум узнать SQL проблематично.
Что касается "условие по дате", то нужно это условие уложить после слова where.
Что-то в этом роде:
Delphi
1
2
  IBQuery1,SQL.Text := 'select * from <простаятаблица> where <дата> between '+
    QuotedStr(DateToStr(DateTimePicker1.Date)) + ' and '+QuotedStr(DateToStr(DateTimePicker2.Date));
0
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 8
20.06.2016, 00:20  [ТС]
значение первого поля выдает и значение всех полей по датам тоже выдает, а как теперь сделать чтобы он выдавал именно сумму полей подходящих под дату?
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
20.06.2016, 00:37
Delphi
1
2
3
  IBQuery1,SQL.Text := 'select sum(<имяполяпокоторомунужнасумма> from <простаятаблица> 
    where <дата> between '+ QuotedStr(DateToStr(DateTimePicker1.Date)) + ' and '+
    QuotedStr(DateToStr(DateTimePicker2.Date));
0
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 8
20.06.2016, 00:41  [ТС]
сделал так, как теперь вывести это значение на эдит? пытался как вы описали выше, но поля sum(<имя поля>) ведь нет и выдает ошибку
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
20.06.2016, 00:52
Лучший ответ Сообщение было отмечено dedmakap как решение

Решение

Имя поля есть.
Delphi
1
2
  Edit1.Text := IntToStr(IBQuery1['sum']); //если сумма целочисленная
  Edit1.Text := FloatToStr(IBQuery1['sum']); //если сумма представляет дробное число
Можно применить алиас (псевдоним) в самом запросе и использовать его:
Delphi
1
2
3
  IBQuery1.SQL.Text := 'select sum(<имяполяпокоторомунужнасумма> summa from ...';
  IBQuery1.Open;
  Edit1.Text := IntToStr(IBQuery1['summa']);
1
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 8
20.06.2016, 00:56  [ТС]
Спасибо вам огромное, будем учиться обязательно
0
20.06.2016, 02:09

Не по теме:

Цитата Сообщение от dedmakap Посмотреть сообщение
Спасибо вам огромное, будем учиться обязательно
В следующей жизни?

0
 Аватар для krapotkin
6851 / 4677 / 1465
Регистрация: 14.04.2014
Сообщений: 20,674
Записей в блоге: 21
20.06.2016, 06:00
SQL это обычная текстовая строка. всего 4 команды, что там откладывать??
http://www.sql.ru/docs/sql/u_sql/
https://www.ibase.ru/ibx/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2016, 06:00
Помогаю со студенческими работами здесь

Кнопка: сохранить данные с Edit, скопировать файл (картинку) и переименовать новый файл из одного из полей edit
Помогите дописать для кнопки такое: по состоянию компонента CheckBox копировать определеный файл и давать ему название например из поля...

События полей Edit
Можно ли присвоить одно и то же событие ввода в Edit, но так, чтобы это событие относилось ко всем Edit-ам в программе. Можно конечно...

Запись в файл из полей Edit
Здравствуйте, подскажите как мне реализовать запись данных из нескольких полей Edit в файл. Например есть три поля:...

Подсчет множества полей Edit
Привет. Столкнулся с проблемой, с которой уже парюсь дня 2. Нужен нормальный, человеческий алгоритм выполнения задачи, - компактный и...

Запись в файл из полей Edit
Здравствуйте! Пишу программу она должна при нажатии кнопки выполнить следующие действия: 1) Считать из полей Edit информацию в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru