|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.01.2009, 07:09 | #1 |
Пользователь
Регистрация: 20.11.2008
Сообщений: 39
|
DB.access арифм. действия
Требуется помощь !
У меня есть база данных там ФИО и для каждого фио 29 столбцов где указаны числа .нужно что бы я мог выбирать из 24 чисел какие мне нужны и складовать (12+23+41)пример . Затем результат выводился либо в новое поле этой таблицы Либо в другую db.access .. И по новым данным уже строился граффик ! буду очень благодарен за любую оказанную помощь .Может есть какаянить инфа по этому вопросу ? |
20.01.2009, 12:02 | #2 |
Форумчанин
Регистрация: 20.06.2008
Сообщений: 168
|
Заранее создай в датасете калькулируемое поле, которое будет считаться в зависимости от того, что ты выбрал. Вопрос настолько расплдывчатый, что даже не знаю, что еще сказать.
|
20.01.2009, 12:04 | #3 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
Задания не понял. Какие 24 "чисел" так же моя фантазия в отключке. =)
Но не вижу в чем траблы, Ввод данных через Делфи? - Изменения ? - Или Выборка данных ? - Совсем этим справиться SQL- запрос =) А для графиков есть спец. элемент Chart =)
Skype : UASm1Le.
|
20.01.2009, 22:56 | #4 |
Пользователь
Регистрация: 20.11.2008
Сообщений: 39
|
Есть база данных access .
имя - 1столбец 2столбец 3 столбец 4 столбец и.т.д до 29 ..... ваня 25 13 66 78 петя 28 18 69 70 как складывать данные из столбцов ? 25+13+66= ? и далее вывод данных либо в сетку DBGRID другой таблицы либо в новый столбец (ячейку) даннОЙ КАК попроще ??? |
20.01.2009, 23:22 | #5 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
Выборка с помощью SeLect(SQL), Считка данных ADOQuery.Fileds.Fileds[i],перевод из строки StrToInt+Цыкл = То что надо =)
Ну а вывод легко в DBGrid. Через ADOConnection+ADOQuery+DAtaSource =)
Skype : UASm1Le.
|
22.01.2009, 16:46 | #6 |
Пользователь
Регистрация: 20.11.2008
Сообщений: 39
|
огромное спасибо.
Ещё бы немного поподробнее ..если не затруднит пару примеров с последовательностью кликов .Щас конечно буду рассматривать литературу . |
23.01.2009, 15:17 | #7 |
Форумчанин
Регистрация: 23.01.2009
Сообщений: 107
|
на форме распалагаешь эелмент ADOQuery
у него есть свойство SQL типа Tstring в него пишешь запрос на выбор данных: select * from <имя таблицы> вот эта выборка и будет хранить все данные из таблицы далее делаем цикл ADOQuery1.First; while not ADOQuery1.EOF do begin sum:=0; for i:=1 to ADOQuery1 do begin sum:=sum+ADOQuery.Fileds.Fileds[i].AsInteger; end; // выводим sum ADOQuery1.Next; end; ну если в мелочах не ошибся, то примерно так
и не забудьте подарить детям шоколадку
|
26.01.2009, 02:21 | #8 |
Пользователь
Регистрация: 20.11.2008
Сообщений: 39
|
Огромное спасибо )ход мыслей получил, но не воплощается.
Просил бы поясниний по данному коду. Ставить его на собите кнопки ? У меня есть в таблице 24 поля 25-тое имя ВО всех полях числа ,небольшие разные (23,55,и т.д.) Не могу понять как мне выбирать из этих (полей)чисел которые мне нужны затем складовать их ....... |
26.01.2009, 09:02 | #9 | |
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
Как я понял тебе нужно просуммировать твои числа внутри каждой записи ?
Цитата:
Имя записи ,тобишь ,поле типа string одно ? Его номер известен точно ? Или в любом поле при вводе может быть и число и имя ?
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
|
|
26.01.2009, 15:48 | #10 |
Форумчанин
Регистрация: 23.01.2009
Сообщений: 107
|
можно и в событие кнопки вставить код
типа по нажатию на кнопке можно так: // очищаем запросы ADOQuery1.SQL.Clear; // пишем свой запрос ADOQuery1.SQL.Text:='select * from <имя таблицы>'; // выполняем свой запрос ADOQuery1.ExecSQL; // таким образом, в самом ADOQuery1 у тебя в реальном врмени // хранится твоя таблица, к которой ты и будедешь обращаться в цикле // становимся на первую строку таблицы (результат запроса) ADOQuery1.First; // пока не достигли последней строки зацикливаем while not ADOQuery1.EOF do begin sum:=0; for i:=0 to 23 do begin // в этом месте мы перебираем элементы строки таблицы со 1-го по 24-й // ADOQuery.Fileds.Fileds[i] - это и есть твое число в (i-1)-й колонке // т.е. к числу sum мы прибавляем твое число в (i-1)-й колонке sum:=sum+ADOQuery.Fileds.Fileds[i].AsInteger; end; // выводим sum // вывод пишешь сам // слеующая команда переводит крусор на следующую строку таблицы // (точнее результат запроса) ADOQuery1.Next; end;
и не забудьте подарить детям шоколадку
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Действия с массивами | Domik92 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 09.12.2008 13:15 |
Часы постоянного действия | MAKEDON | Общие вопросы Delphi | 15 | 22.07.2008 14:38 |
Завершение действия | SunKnight | Общие вопросы Delphi | 3 | 12.02.2008 18:25 |
Delphy и Access.вводя инфу во вторичный файл Access, она отражалась в первом ADOTable | Lev | БД в Delphi | 0 | 11.11.2007 12:14 |
Выбор действия кнопки | Micha | Компоненты Delphi | 3 | 07.10.2007 11:17 |