Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчет процентов в запросе 
:(
    Опции темы
Samhein
Дата 12.11.2009, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Башзэфашовец
**


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

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



Задали написать "БД вкладчиков сбербанка".
По идее, проценты должны подсчитываться за каждый год.
Но как итоговое число получить в запросе я понять не могу, тк надо сначала подсчитать процент за 1 год, потом основываясь на полученной цифре считать второй год и так далее.
Как я думаю, здесь должен быть цикл. Но как это оформить?

Заранее благодарю.

Это сообщение отредактировал(а) Samhein - 12.11.2009, 18:37


--------------------
Знаю форум наизусть, но писать еще боюсь
PM   Вверх
bopoha
Дата 12.11.2009, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

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



Samhein, это не делается в запросе. Это в VBA лучше написать. Пользуясь запросами для вычислений.
PM MAIL WWW ICQ Skype GTalk   Вверх
Samhein
Дата 12.11.2009, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Башзэфашовец
**


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

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



Ок. Спасибо. Не подскажете ещё, как из VBA выполнить SQL (потребуется для использование UPDATE)?


--------------------
Знаю форум наизусть, но писать еще боюсь
PM   Вверх
Akina
Дата 12.11.2009, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Цитата(Samhein @  12.11.2009,  21:28 Найти цитируемый пост)
как из VBA выполнить SQL 

DoCMD.RunSQL()

И прочитайте ещё раз Правила. Особенно п. 10.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
FINANSIST
Дата 13.11.2009, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


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

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



Цитата(Samhein @  12.11.2009,  18:36 Найти цитируемый пост)
По идее, проценты должны подсчитываться за каждый год.

Возможны и ежеквартальные, и ежемесячные(это чаще всего) начисления процентов- определись с заданием


Цитата(Samhein @  12.11.2009,  18:36 Найти цитируемый пост)
Но как итоговое число получить в запросе я понять не могу, тк надо сначала подсчитать процент за 1 год, потом основываясь на полученной цифре считать второй год и так далее.


Кратчайший экскурс в основы финансовой математики
Формула начисления простых процентов (это когда процент наращивается на первоначальную сумму)
S = P+P*N*I, где S - Конечная сумма в момент завершения договора по депозитам, P - первоначальная сумма, I - процентная ставка за период t(может быть год ,квартал или месяц), N - количество периодов t.
То есть если вложить 100000 под 15% годовых на 2 года , то 
S=100000*100000*0,15*2=130000

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


Для сложных процентов (начисление процентов не от первоначальной а от наращенной суммы т.е. капитализация процентов) S= P*(1+I)^N, где I должен быть сопоставим с N, т.е. если капитализация (приращение процентов на основе достигнутой суммы) ежеквартальное, то при годовой ставке 15% под 2 года S = 100000(1+0.15/4)^(2*4)

Кстати  даже VBA не нужен, обычный sql с вычисляемыми полями это осилит
P.S Если  вкладчик будет с заданной регулярностью докладывать фиксированный суммы, даже на этот случай есть готовая формула получения конечной суммы (это уже аннуитетные платежи), лень её печатать, да и вряд ли в задании такой случай предусмотрен...

Это сообщение отредактировал(а) FINANSIST - 14.11.2009, 15:05


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
Samhein
Дата 13.11.2009, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Башзэфашовец
**


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

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



FINANSIST, спасибо за упоминание аннуитетных платежей.


--------------------
Знаю форум наизусть, но писать еще боюсь
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

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

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


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

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


 




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


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

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