Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать итогове поле? 
:(
    Опции темы
faost
Дата 1.3.2005, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В базе данных Access есть таблица, в ней есть 4 числовых поля и еще одно числовое, в которое должен быть записан результат сложения 4-х других полей.
Надо, чтобы при изменении любой записи одного из этих 4-х полей изменялось значение в 5-ом поле.
Можно ли это реализовать в Access или надо вручную считать уже в Delphi?
--------------------
Если у вас нет проблем, значит вы уже умерли
PM MAIL   Вверх
Dimich
Дата 2.3.2005, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Если бы в аксесе были бы тригеры, то все было бы так просто! А так нужно вручную считать на дельфи. На мой взгляд больше вариантов нет.
--------------------
Не работает - исправь, работает - не трогай!!!
PM MAIL ICQ Jabber   Вверх
Bes
Дата 2.3.2005, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Помоему можно в акцессе создавать вычисляемое поле, ну покрайней мере запрос точно можно сделать (есть такая штука в акцессе) и в нем все вычислить.
PM MAIL   Вверх
DimW
Дата 2.3.2005, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

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



Проще всего использовать вычислимые поля, такую возможность дают компоненты TTabel или TQuery.

Двойной щелчек на TTable или TQuery, New Field---> Name='NameSum' ---> DataType='Float' (Field Type выстави calculated).
Событие OnCalcFields:
Код

procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
Table1.FieldByName('NameSum').AsFloat:=Table1.FieldByName('Name1').AsFloat+Table1.FieldByName('Name2').AsFloat;
end;


Вот и все... smile

З.Ы. В самой БД поле создавать ненужно и Перед тем как создавать новое поле закрой TTabel или TQuery
Tabel1.Close; и тд.
PM MAIL ICQ   Вверх
Dimyan
Дата 2.3.2005, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вычисляемые поля создаются в Access
Создаешь в Access запрос который будет тебе считать например поле1 + поле2
Выбираешь тип поля которое будет высчитываться как "Мастер подстановки" и указываешь ему этот запрос.
Помоему это так там работает


--------------------
Как хорошо ничего не делать, а потом еще немного отдохнуть :)
PM MAIL ICQ   Вверх
Bes
Дата 3.3.2005, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



2DimW: Я так понял нужно именно еще одно поле, по крайней мере именно так это звучит в вопросе.
PM MAIL   Вверх
DimW
Дата 3.3.2005, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

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



2Bes : Я просто предложил альтернативу, просто мне так удобнее вот и человеку посаветывал, может ему этот вариант понравился. Да к стати где он сам ( faost )?
PM MAIL ICQ   Вверх
faost
Дата 4.3.2005, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Больше всего мне понравился вариан с Access - только вот когда создаешь поле "Мастер подстановки" - Access пишет, что запустить программу установки Microsoft Office и установить флажок "Мастера". Я поставил ВСЕ флажки, всер равно не пашет ((
--------------------
Если у вас нет проблем, значит вы уже умерли
PM MAIL   Вверх
Bes
Дата 4.3.2005, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну, елки, пробуй значит другие варианты. :-)
Я с 97-м акцессом работаю. так что в этом плане не помогу.
А с запросами как? Потом в них даже данные можно менять.
PM MAIL   Вверх
faost
Дата 4.3.2005, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Запрос в Access работает, спасибо!
--------------------
Если у вас нет проблем, значит вы уже умерли
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


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

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

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


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

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


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

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


 




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


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

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