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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2012, 12:46   #1
Roman123654789
Пользователь
 
Регистрация: 20.04.2012
Сообщений: 35
По умолчанию Вычисления в столбцах DBGrig

У меня есть компоненты: ADOQuery, ADOConection, DataSourse, DBGrid и две таблицы сделаны в Access. В одну таблицу мы заносим данные (таблица 1) а во второй (таблица 2) выполняются вычисления (деление, сложение, умножение). Мне нужно из таблицы 1 данные разделить на данные, которые вписаны в таблицу 2.Как мне это сделать? И как мне сделать чтобы при запуске программа таблица 2 очищалась?
Roman123654789 вне форума Ответить с цитированием
Старый 09.05.2012, 16:01   #2
<- DelpHIFanat ->
Пользователь
 
Аватар для <- DelpHIFanat ->
 
Регистрация: 07.11.2011
Сообщений: 58
По умолчанию

Очистку таблицы при запуске программы я бы сделал с помощью SQL-запроса (ADOQuery) в обработчике создания, т. е. OnCreate, главной формы (или модуля данных). А что и как вычислять, мне не понятно (не понятно разбиение: зачем данные из таблицы1, в таблицу2). Разумнее данные для вычисления хранить в одной таблице или создать запрос (запрос можно создать в Access и как таблицу подключить к БД, только его нужно будет периодически обновлять), который будет вычислять данные.
Лучше вообще не иметь знаний о чём-то, чем иметь неправильные знания об этом!..
<- DelpHIFanat -> вне форума Ответить с цитированием
Старый 09.05.2012, 17:21   #3
Roman123654789
Пользователь
 
Регистрация: 20.04.2012
Сообщений: 35
По умолчанию

Цитата:
Сообщение от <- DelpHIFanat -> Посмотреть сообщение
Очистку таблицы при запуске программы я бы сделал с помощью SQL-запроса (ADOQuery) в обработчике создания, т. е. OnCreate, главной формы (или модуля данных). А что и как вычислять, мне не понятно (не понятно разбиение: зачем данные из таблицы1, в таблицу2). Разумнее данные для вычисления хранить в одной таблице или создать запрос (запрос можно создать в Access и как таблицу подключить к БД, только его нужно будет периодически обновлять), который будет вычислять данные.

Мне нужно две таблицы, так как в одной будет храниться информация а во второй будут происходить вычисления!
Roman123654789 вне форума Ответить с цитированием
Старый 09.05.2012, 17:30   #4
<- DelpHIFanat ->
Пользователь
 
Аватар для <- DelpHIFanat ->
 
Регистрация: 07.11.2011
Сообщений: 58
По умолчанию

Цитата:
Сообщение от Roman123654789 Посмотреть сообщение
Мне нужно две таблицы, так как в одной будет храниться информация а во второй будут происходить вычисления!
Тогда я бы эти таблицы связал связью "один-к-одному", а вычисления производил бы в обработчике OnCalcFields таблицы2.
Лучше вообще не иметь знаний о чём-то, чем иметь неправильные знания об этом!..
<- DelpHIFanat -> вне форума Ответить с цитированием
Старый 10.05.2012, 19:46   #5
Roman123654789
Пользователь
 
Регистрация: 20.04.2012
Сообщений: 35
По умолчанию

Цитата:
Сообщение от <- DelpHIFanat -> Посмотреть сообщение
Тогда я бы эти таблицы связал связью "один-к-одному", а вычисления производил бы в обработчике OnCalcFields таблицы2.
Они 'связаны'! Скажите пожалуйста какой код мне прописать?
Roman123654789 вне форума Ответить с цитированием
Старый 10.05.2012, 21:18   #6
<- DelpHIFanat ->
Пользователь
 
Аватар для <- DelpHIFanat ->
 
Регистрация: 07.11.2011
Сообщений: 58
По умолчанию

Цитата:
Сообщение от Roman123654789 Посмотреть сообщение
Они 'связаны'! Скажите пожалуйста какой код мне прописать?
Примерно такой:

Код:
ADOTable2.Fields[№ поля таблицы2].AsInteger(AsCurrency или, там AsReal):=
  ADOTable2.Fields[№ поля таблицы2].AsInteger(AsCurrency или, там AsReal) <+, -, *, /> //требуемое для поля таблицы2 действие (естественно, без угловых скобок)
ADOTable1.Fields[№ поля таблицы2].AsInteger(AsCurrency или, там AsReal);
Можно и немного по-другому: обращаться к полю с помощью метода FieldByName['имя поля'], или же обращаться к каждому полю непосредственно: так, как оно называется в наборе данных (редакторе полей), т. е., как к самостоятельному компоненту. Приложите исходник, если работать не будет.
Лучше вообще не иметь знаний о чём-то, чем иметь неправильные знания об этом!..
<- DelpHIFanat -> вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтр в строках, а не в столбцах? MaxxVer Microsoft Office Excel 22 26.09.2017 11:18
сортировка чисел в столбцах zaraz Microsoft Office Excel 9 09.02.2010 16:18
Выделение цветом последней строки DBGrig Yura_S Помощь студентам 2 28.10.2009 08:35
Поиск значения в столбцах KReoN Microsoft Office Excel 12 26.10.2009 00:14
Рисуем в ячейке DBGrig _SERGEYX_ Компоненты Delphi 10 02.06.2008 13:39