Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с вычисляемым полем 
V
    Опции темы
brusel
Дата 29.11.2012, 16:34 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Здраствуйте. Есть DBGridEh с полями А и Б.
Поле Б вычисляемое, должно считатся так: Б=А/Сумма(всех А)

Пробовал так выдает ошибку.

Код

procedure TVagaCalcFields(DataSet: TDataSet);
begin
TVagaB.Value:=TVagaА.Value/StrtoFloat(FVaga.DBGridEh1.Columns[1].Footers[0].SumValue);
end;


PM MAIL   Вверх
superVad
Дата 29.11.2012, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



brusel, какую ошибку выдает? Не пробовал это все сделать прямо в запросе?
PM MAIL   Вверх
Akella
Дата 29.11.2012, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



###!!!
Раньше программистов учились программировать, а сейчас хотя бы научиться поиском пользоваться и правильно вопросы задавать.

Добавлено через 33 секунды
brusel, тебя прямая дорога в проект Битва экстрасенсов. Там такие вопросы задавай.
PM MAIL   Вверх
DYUMON
Дата 30.11.2012, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 17.6.2006
Где: Новосибирск

Репутация: 2
Всего: 3



Вообще данный метод извращение. Какая субд? Если нормальная то сделай тригер, который будет обновлять значение б суммой всех а .


--------------------
Всех программистов надо посадить на целероны, что бы впредь головой думали что пишут.
user posted image
PM MAIL ICQ Skype   Вверх
brusel
Дата 2.12.2012, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Цитата(DYUMON @ 30.11.2012,  10:09)
 Какая субд? Если нормальная то сделай тригер, который будет обновлять значение б суммой всех а .

MS Access/ADO

Пример подскажите.
PM MAIL   Вверх
Akella
Дата 2.12.2012, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Сомневаюсь, что Access поддерживает триггеры. В любом случае есть F1
PM MAIL   Вверх
brusel
Дата 2.12.2012, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Попробую упростить вопрос. 
Как вывести в DBGrid вычисляемое поле, чтобы считало так: Б=А/Сумма(всех А)
В CalcFields не подходит, приводит к ошибке Access Violation. Я так понял Обращение к не созданному объекту.
PM MAIL   Вверх
Akella
Дата 2.12.2012, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Ты примеры смотрел хоть?

Добавлено через 1 минуту и 2 секунды
В интернете их вагон и маленькая тележка!
Справку почитай, как первоисточник.
Уверен, что в примерах, поставляемых с дельфи, инфа тоже есть.

Добавлено через 1 минуту и 30 секунд
Т.е. ты хочешь, чтобы мы здесь за тебя всё это сделал и тебе дали готовую программу?

Добавлено через 4 минуты и 50 секунд
Подсказка 1. В гриде данных НЕТ. Грид их только отображает.
Подсказка 2. Работай с НД - TDataSet.

Добавлено через 5 минут и 6 секунд
НД - Набор данных - DataSet;
PM MAIL   Вверх
brusel
Дата 3.12.2012, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Цитата(Akella @  2.12.2012,  19:25 Найти цитируемый пост)
Ты примеры смотрел хоть?

Смотрел
Цитата(Akella @  2.12.2012,  19:25 Найти цитируемый пост)
В интернете их вагон и маленькая тележка!

Там вагон тупых советов как умножить или сложить два числа.
Цитата(Akella @  2.12.2012,  19:25 Найти цитируемый пост)
Т.е. ты хочешь, чтобы мы здесь за тебя всё это сделал и тебе дали готовую программу?

Если не хочешь подсказать в решении проблеммы, то нечего тут умничать что ты тут самый умный, а все остальные дураки.
Код

procedure TDM.TVagaCalcFields(DataSet: TDataSet);
var
i:integer;
begin
dm.QuerySum.Open;
i:= dm.QuerySum.Fields[0].AsInteger;  //заносим  сумму в переменную i
dm.QuerySum.Close;
dm.TVagaZ_posl.Value:=dm.TVagaKol.Value*dm.TVagaKol_god.Value;
dm.TVagaPyt_vag.Value:=RoundEx((dm.TVagaKol.Value/i),100);
end;

Вот, не то что хотел, но оно работает.


PM MAIL   Вверх
DYUMON
Дата 4.12.2012, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 17.6.2006
Где: Новосибирск

Репутация: 2
Всего: 3



нормальный пример если там по другому не извратится


--------------------
Всех программистов надо посадить на целероны, что бы впредь головой думали что пишут.
user posted image
PM MAIL ICQ Skype   Вверх
Akella
Дата 4.12.2012, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(brusel @  3.12.2012,  17:57 Найти цитируемый пост)
Там вагон тупых советов как умножить или сложить два числа.


А тебе что нужно?
Какие-то сложные вычисления?
Сомневаюсь, что в вычисляемых полях нужно что-то сложное вычислять. Будет тормозить.

Добавлено через 1 минуту и 2 секунды
Цитата(brusel @  3.12.2012,  17:57 Найти цитируемый пост)
Если не хочешь подсказать в решении проблеммы, то нечего тут умничать

Если не можешь читать, то  нечего так возмомущаться. Попробуй заново smile
PM MAIL   Вверх
brusel
Дата 4.12.2012, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Вопрос решен, тема закрыта
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0787 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.