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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2012, 13:08   #1
Дмитрий mause
 
Регистрация: 21.09.2011
Сообщений: 8
Вопрос Сумма не уникального поля.

Добрый день. Прошу прощения за столь глупый вопрос, но я немного в замешательстве и нуждаюсь в ваших советах.

Задача: есть два .dbf -файла, в одной базе есть поле "nlch" - лицевой счёт, поле "D11" - платёж и поле "N11" - корректировка, и другие поля. В другой dbf поле "nlch"- лицевой счёт, поле "summa" - расчитывается она так, "D11 -N11", проблема заключается в том, что поле "nlch " не уникальное, в нём могут содержаться две и более одинаковых записей, т.е. по одному лицевому, могут быть несколько оплат. Как можно получить общую сумму по одному "nlch".

я делаю так:
Цитата:
sumpl:=0;
VSETable.First;
While not VSETable.Eof do
begin
Application.ProcessMessages;
sumpl:=VSETable.FieldByname('D11'). AsFloat-VSETable.FieldByname('PEN11').AsFlo at; //сумма платежа
VSETable.Next;
end;
Но он суммирует только первое найденное поле. Будте добры посоветуйте как лучше реализовать код суммы по всем найденным полям !!!

Последний раз редактировалось Дмитрий mause; 25.01.2012 в 13:46.
Дмитрий mause вне форума Ответить с цитированием
Старый 25.01.2012, 14:22   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

неверный подход. смотрите в строну SQL запросов
вида
Код:
select NLCH, sum(summa) as all_sum from ВашаТаблица group by NLCH

это примерно направление поиска. в идеале желательно связать обе таблицы в одном запросе...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.01.2012, 16:04   #3
Дмитрий mause
 
Регистрация: 21.09.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
неверный подход. смотрите в строну SQL запросов
вида
Код:
select NLCH, sum(summa) as all_sum from ВашаТаблица group by NLCH

это примерно направление поиска. в идеале желательно связать обе таблицы в одном запросе...
У меня небольшие проблемы с запросами SQL, будьте любезны немного поподробнее, если это вас не затруднит.
Дмитрий mause вне форума Ответить с цитированием
Старый 25.01.2012, 16:40   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

С Table запросом не сделать, а без запроса:
Код:
sumpl:=sumpl+VSETable.FieldByname('D11').AsFloat-VSETable.FieldByname('PEN11').AsFloat;
P.S. А по поводу запросов Serge_Bliznykov очень правильно сказал, ими пользоваться более эффективно. Тот же Table, например, я вообще не использую в проектах. Примеров использования SQL на форуме полно, ищите
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 25.01.2012 в 18:00.
Аватар вне форума Ответить с цитированием
Старый 25.01.2012, 17:08   #5
Дмитрий mause
 
Регистрация: 21.09.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
С Table запросом не сделать, а без запроса:
Код:
sumpl:=sumpl+VSETable.FieldByname('D11').AsFloat-VSETable.FieldByname('PEN11').AsFloat;
Спасибо большое Аватар, это помогло справиться с проблемой. Serge_Bliznykov и вам спасибо за то, что откликнулись.
Дмитрий mause вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Rave Reports итоговая сумма поля goldragon Компоненты Delphi 0 21.05.2010 13:16
Сумма вычисляемого поля TTable Anton.sev Общие вопросы Delphi 1 10.05.2010 20:31
Массивы(поиск уникального и среднестатистического элементов)) MaksimSeriy Помощь студентам 0 10.04.2009 22:21
Как создать обратную функцию, которая из уникального номера будет возвращать строку? SkAndrew Общие вопросы Delphi 8 06.04.2008 21:10