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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2013, 14:02   #21
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не понимаю, наверно сам тупой
Я тоже тупой, ибо не понимаю зачем это число в БД хранить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.10.2013, 14:16   #22
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, так человек поле "Итого: холодная вода = " подсчитывает
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.10.2013, 21:48   #23
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ADOQuery2 подключён к БД (через Connection или ConnectionString) ?

Перед данным кодом попробуйте (на всякий случай!) закрыть ADOQuery2
Код:
  ADOQuery2.Close;
  ADOQuery2.SQL.Text:='insert into [счет] (Общвода) values ((Select SUM([Холодная вода]) as MyName from [счет]))';
  ADOQuery2.ExecSQL;

дальше.
Отройте вашу СУБД в MS Access и попробуйте выполнить эту строку прямо там (редактор SQL запроса откройте и вставьте туда текст запроса:
Код:
insert into [счет] (Общвода) values ((Select SUM([Холодная вода]) as MyName from [счет]))
посмотрите, выполнится ли там. если нет - то прочитайте ошибки.
1. подключён к БД через ADOConnection.
2. Я не нашел в Microsoft Access 2010 редактор SQL запросов.
3. Где вы думает лучше хранить результат, в отдельной таблиции?
Женя32 вне форума Ответить с цитированием
Старый 26.10.2013, 04:00   #24
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от Женя32 Посмотреть сообщение
Лучше один раз увидеть, чем сто раз..... Поэтому выкладываю проэкт.

На главной форме есть кнопка "Посчитать", при нажатии которой должно подсчитываться сумма определенных полей, полученный результат должен сохраняться в другом поле таблици.
Ну раз вы не слушайте не кого ! и хотите именно так , как вы говорите !
Пожалуйста .... Но, так не кто не делает вам уже сказали ....

Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ADOQuery2.Close;
  ADOQuery2.SQL.Clear;
  ADOQuery2.SQL.Add('Select SUM(Chislo)  from tab1');
  ADOQuery2.Open;
  label1.Caption := ADOQuery2.Fields[0].AsString;
  ADOQuery1.Edit;
  ADOQuery1.FieldByName('sumchislo').AsString := Label1.Caption;
  ADOQuery1.Post;
end;
Вложения
Тип файла: rar Пример.rar (326.1 Кб, 2 просмотров)
xxbesoxx вне форума Ответить с цитированием
Старый 26.10.2013, 07:21   #25
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Цитата:
3. Где вы думает лучше хранить результат, в отдельной таблиции?
Как сказал xxbesoxx и предыдущие ораторы: "так никто не делает".
Видимо ТС нужно объяснить почему, а то он в недоумении.
Результаты не хранят в БД из-за того, что любой результат может быть легко сформирован из уже имеющихся в базе данных когда это потребуется.
Вот вам и говорят, что хранение результатов в базе - это издевательство над здравым смыслом.
Прик вне форума Ответить с цитированием
Старый 26.10.2013, 10:05   #26
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье

Цитата:
Сообщение от Прик Посмотреть сообщение
...
Результаты не хранят в БД из-за того, что любой результат может быть легко сформирован из уже имеющихся в базе данных когда это потребуется.
ОК, тогда как подсчитать разность между данными занесенными в полях, например между 123 и 234, и вывести это в Label1 ?
Женя32 вне форума Ответить с цитированием
Старый 26.10.2013, 10:22   #27
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

это знают даже дети маленькие
eval вне форума Ответить с цитированием
Старый 26.10.2013, 10:44   #28
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
это знают даже дети маленькие
А я вот не знаю, подскажите пожалуйста.....


Каждый раз при добавлении записи, число занесенное в определенное поле всегда будет на несколько единиц больше числа предыдущей записи. Как узнать разницу?

Для элюстрации хочу привести такой пример: Показания счетчика в предыдущем месяце было вот такое: 00123(это одна запись), в этом месяце счетчик показывает вот такое число: 00130(это уже другая запись) - Как программно узнать расход за месяц?

Последний раз редактировалось Женя32; 26.10.2013 в 11:36.
Женя32 вне форума Ответить с цитированием
Старый 26.10.2013, 11:09   #29
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

в первый класс
eval вне форума Ответить с цитированием
Старый 26.10.2013, 12:02   #30
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

у маши 1 сентября было 123 яблока, она целый месяц ходила в колхозный сад, и в октябре у нее стало 130 яблок, в задаче спрашивается сколько яблок стыбзила маша.
eval вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как занести текущую дату в поле таблицы типа "Дата"? Женя32 БД в Delphi 22 25.10.2013 15:19
(sql) как в поле smalldatetime занести значение типа NULL ? wm_leviathan C# (си шарп) 8 26.07.2012 09:34
Как занести картинку в BLOB-поле? simka16 Общие вопросы Delphi 0 16.01.2011 14:49
Подстановка значения переменной как поле записи Noktikus Общие вопросы Delphi 2 17.04.2010 18:01
Как занести значение в ячейку segail Microsoft Office Excel 1 10.07.2009 20:00