Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 19
1

Расчет кредита на определенную дату

13.09.2011, 13:35. Показов 3816. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток,форумчане!
Подскажите, позволяет ли MS Access осуществлять операции между разными строками отдного столбца? Или разными столбцами отдной строки? Объясню задачу: мне необходимо расчитать суммы выплат по кредиту на определенную дату (даты и суммы произвольны, НЕ АННУИТЕТ!). Но для этого надо знать сколько прошло дней с даты последнего платежа,а как это пропистаь я не знаю =(
Поскажите кто может,вот файлик,там запрос "Состояние займа у конкретной компании",расчет неправильный.
Вложения
Тип файла: rar Тест.rar (39.6 Кб, 54 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.09.2011, 13:35
Ответы с готовыми решениями:

Расчет возраста, имея дату рождения и текущую дату
наверняка у кого-то есть функция? Есть поле дата рождения и текущая дата. Как посчитать возраст? ...

Расчет кредита
Как рассчитать Сумму кредита в начале месяца? И почему у меня остаток кредита -0,00?

Расчет кредита
Помогите написать программу расчета кредита. надо сделать по аналогии с вот этим: Ежемесячный...

Расчёт кредита на PHP
Помогите с методом расчёта кредита на PHP. Сам написал несколько, но они выдают неправильные...

18
139 / 135 / 3
Регистрация: 27.07.2010
Сообщений: 342
13.09.2011, 14:49 2
Добрый день.
Для начала - неправильно организована база данных. Связей нет вообще.
Я чуть изменил - посмотри схему данных. Для удобства используй мастер подстановок (сделай сам).
Такие поля как "Остаток тела", "Всего цена", "Сумма" в большинстве случаев в таблицах не нужны - они могут вычисляться в запросах, отчетах. Таблицы - это только хранилище данных.
С уважением, Алексей.
Вложения
Тип файла: rar Тест1.rar (20.0 Кб, 81 просмотров)
1
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 19
13.09.2011, 17:26  [ТС] 3
Спасибо за помощь!
Единственно, вы поставили связи от "Договора купли/продажи" ко всем другим таблицам,а это не совсем правильно. "ДОговора купли/продажи" и "Займы" это отдельные не связанные таблица,там одинаков перечень контрагентов только. Не могли бы вы переделать связи,если можно?
0
Эксперт MS Access
7397 / 4534 / 295
Регистрация: 12.08.2011
Сообщений: 14,021
14.09.2011, 02:45 4
Цитата Сообщение от Дмитрий1987 Посмотреть сообщение
отдной строки
вы уверены, что так пишется?

Цитата Сообщение от Дмитрий1987 Посмотреть сообщение
Подскажите, позволяет ли MS Access осуществлять операции между разными строками отдного столбца?
да, позволяет, для этого есть например dlookup, dsum и т.д., а так называемую "строку" можно определить с помощью ключевого поля.
1
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 19
14.09.2011, 12:15  [ТС] 5
Цитата Сообщение от alvk Посмотреть сообщение
да, позволяет, для этого есть например dlookup, dsum и т.д., а так называемую "строку" можно определить с помощью ключевого поля.
Если не сложно,можно привести пример формулы для вычисления количества дней? Данные следующие:

ВЫДАН КРЕДИТ 01.01.2010

ДАТА___________ПРОШЛО ДНЕЙ
01.02.2010______(?)
01.03.2010______(?)
01.04.2010______(?)

Нужно учитывать, что первый период вычисляется разницей между ДАТА и ВЫДАН КРЕДИТ, а вот все последующие периоды равны разницы заданного периода и предыдущего. В этом то и загвоздка
Да еще к тому же у меня много разных кредитных договоров, транши по ним записываются в одну таблицу... В общем,помогите кто может
0
Эксперт MS Access
7397 / 4534 / 295
Регистрация: 12.08.2011
Сообщений: 14,021
14.09.2011, 13:16 6
я смотрю у вас в таблицах есть поля с подстановкой - избавьтесь, иначе ничем не смогу помочь.
Далее, где вы ведёте записи оплат по договорам? В самих договорах? У вас всегда один договор имеет только одну оплату? Частичной оплаты нет?
Далее, нет форм, вообще нет, запросы тоже невнятные. Где вы хотите производить ваши расчёты и где отображать??
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 19
14.09.2011, 13:26  [ТС] 7
Цитата Сообщение от alvk Посмотреть сообщение
Далее, где вы ведёте записи оплат по договорам? В самих договорах? У вас всегда один договор имеет только одну оплату? Частичной оплаты нет?
Отдельно таблицы с перечнем договоров, отдельно оплаты по договорам,причина простая - оплаты производятся частями. В этом и есть проблема, договор заключен,а оплату не провели или провели не полностью,а остаток забыли. Задача избежать таких ситуаций.

Цитата Сообщение от alvk Посмотреть сообщение
Далее, нет форм, вообще нет, запросы тоже невнятные. Где вы хотите производить ваши расчёты и где отображать??
Из расчетов нужно лишь опрелелять остаток невыплачено кредита (тела и процента) на определенную дату (это в кредитных договорах) и остаток неоплаченной части по договорам купли/продажи. Я пытался производить расчеты в запросах но сталкивался с проблемами (например с периодом кредита). КОнечно в идеале хочется результаты вычислений видеть в форме,ноя честно сказать не умею ей пользоваться.
0
139 / 135 / 3
Регистрация: 27.07.2010
Сообщений: 342
14.09.2011, 13:52 8
Добрый день.
Вот так имели ввиду?
Вложения
Тип файла: rar Тест1.rar (20.5 Кб, 75 просмотров)
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 19
14.09.2011, 14:00  [ТС] 9
Цитата Сообщение от ashagin Посмотреть сообщение
Добрый день.
Вот так имели ввиду?
Добрый день! Не совсем, связи должны быть между:
Компании-Займы-Оплата займов
Компании-Договора купли/продажи-Оплата по договорам(еще не создана)

И почему то при открытии запроса "Состояние займа у конкретной компании" пишется "Введите значение параматра", хотя они есть в таблице...
Также очень важный момент - есть несколько компаний с ОБОИХ сторон сделки,причем перечень компаний ограничен таблицей "Компании". СМожете помочь?
0
139 / 135 / 3
Регистрация: 27.07.2010
Сообщений: 342
14.09.2011, 14:19 10
Добрый день.
"...почему то при открытии запроса..." - базу данных поменяли, необходим новый запрос.
"...Не совсем, связи должны..." - попробуй сам сделать по примеру как тебе необходимо. Если не будет получаться - поможем.
"...перечень компаний ограничен таблицей "Компании"..." - почему ограничен? сколько необходимо компаний, столько и заводишь. Можешь в этой таблице добавить бинарные поля кредитор и заемщик и вводить данные или управлять этими полями.
"...Оплата по договорам(еще не создана)..." - надо создать все таблицы, необходимые для работы базы, связать их, а затем пробовать запросы.
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 19
14.09.2011, 16:42  [ТС] 11
Цитата Сообщение от ashagin Посмотреть сообщение
"...перечень компаний ограничен таблицей "Компании"..." - почему ограничен? сколько необходимо компаний, столько и заводишь. Можешь в этой таблице добавить бинарные поля кредитор и заемщик и вводить данные или управлять этими полями.
Все получилось,единственное с этим вашим утверждением действительно беда - если я указываю статус компании (в отдельной колонке), то получается задвоение договоров (для одного договора две строки в которых единственное различие - это контрагенты и их статусы) и поле "Договор" перестает быть ключевым,теряется связь с таблицей "Оплата по договорам купли/продажи".
А бинарное поле поможет решить эту задачу? Я скинул базу с моими исправлениями,можете правильно добавить бинарное поле?
Вложения
Тип файла: rar Тест1_1.rar (29.3 Кб, 20 просмотров)
0
139 / 135 / 3
Регистрация: 27.07.2010
Сообщений: 342
14.09.2011, 23:01 12
Добрый день.
Я включил в таблицу Компания поля.
Для отбора компаний для примера сделал несколько запросов.
Насчет задвоения договоров - надо правильно прописать связи в запросе. В каком запросе у тебя задвоение?
Замечание - не используй в запросе данное по умолчанию "Выражение1", "Выражение2" - Давай смысловые имена. Будет чуть сложней база - запутаешься. Или через месяц будешь долго вспоминать что к чему.
Вложения
Тип файла: rar Тест1_2.rar (22.5 Кб, 20 просмотров)
1
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 19
14.09.2011, 23:50  [ТС] 13
Еще раз спасибо за помощь,но наверно я не правильно объясняю суть моей проблемы. Дело в том, что по сути одна и таже компания будет в одном договоре кредитором ,а в другом заемщиком. Также как в договорах купли/продажи- компания будет у одного контрагента покупать,а другому продавать. Поэтому у меня сейчас НЕПРАВИЛЬНО организованы таблицы "Договора купли/продажи" и "Займы", так в них учитывается только она сторона сделки (для нее есть поле со статусом),а кто другая сторона - не указано,что не правильно. Это и есть основная задача - таблица должна отражать название договора и кто контрагенты (ОБЕ стороны сделки),а потом делать запросы, какие у конкретной компании есть договора и с кем.
Заранее спасибо,если поможете
0
139 / 135 / 3
Регистрация: 27.07.2010
Сообщений: 342
15.09.2011, 07:22 14
Добрый день.
Тогда придется вот так.
Вложения
Тип файла: rar Тест1_2.rar (25.7 Кб, 29 просмотров)
1
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 19
15.09.2011, 14:10  [ТС] 15
Спасибо большое,так получается лучше.

Если возможно,помогите пожалуйста с запросами,я их создал в файле,но не написал формулы,не знаю как. Запросы такого характера:

По договорам купли/продажи:
1.Определить сколько осталось дней до конца оплаты каждого договора (должен выводиться список договоров и в соседнем столбце указаны дни)
2.Определить сколько осталось оплатить по каждому договору (должен выводиться список договоров и в соседнем столбце указаны суммы, неоплаченные по каждому договору)

По договорам займа:
*Предисловие: Есть займ и его составляющие(срок, процент, сумма займа(или тело)).На произвольную дату производится перевод определенного (произвольго) транша,который делится на: оплату начисленных процентов и остаток от транша идет на погашение тела. Важно правильно разделить этот транш, так как вначале уплачиваются проценты , а только потом тело. Для этого я вас прошу создать следующие запросы:

1. Определить сколько прошло дней с даты последнего транша (важно учитывать, что первый транш это ДАТА_ЗАЙМА "минус" ДАТА_текущего_ТРАНША, в вот все последующие транши это ДАТА_последнего_ТРАНША "минус" ДАТА_текущего_ТРАНША)

2.Определить сколько начисленно процентов (тут все просто, надо КОЛИЧЕСТВО_ДНЕЙ_С_ПРОШЛОГО_ТРАНША "умножить" ПРОЦЕНТ_(за год) "разделить" 365. Я бы и сам сделал запрос,но мне не хватает данных про прошедшим дням)

3.Определить какая часть транша пойдет на оплату процентов (ТРАНШ "минус" ОПЛАТА_ПРОЦЕНТОВ)

4.Определить остаток тела займа (ОСТАТОК_ТЕЛА "минус" ЧАСТЬ_ТРАНША, пошедшая на оплату тела займа)

5.Определить сколько осталось дней до конца каждого займа (в списке договоров напротив каждого договора должно быть указано число дней до конца. Желательно еще чтобы за какой-то период, например за месяц и до конца договора, клетка с днем стала красной, для наглядности. Но это не обязательно)

Если возможно, хотелось бы чтобы данные запросов формировали соответствующие поля в таблицах. Я в файле их назвал,но они щас пустые. Но я думаю это не получится,хотя хз.

Очень надеюсь на вашу помощь
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 19
15.09.2011, 14:12  [ТС] 16
Файл с базой забыл прикрепить)
Вложения
Тип файла: rar Тест1_4.rar (34.8 Кб, 30 просмотров)
0
Эксперт MS Access
7397 / 4534 / 295
Регистрация: 12.08.2011
Сообщений: 14,021
16.09.2011, 08:28 17
по вопросу №1:
1.Удалите поля подстановок, у вас в таблице договора поля подстановок, это нужно делать на форме, а не в таблице.
2.Почему связи договоров и оплат идут не по коду договора? Поменял название договора и кранты оплатам?
3.В представленном вами запросе стоит расчёт дней по датам, конкретизируйте что именно вы хотите?
По вопросу №2:
T-SQL
1
2
3
4
5
6
7
SELECT договор, выставлено, оплачено, (выставлено - оплачено)  as осталось
FROM
(SELECT [Договор купли/продажи].Договор, [Договор купли/продажи].[Всего цена] AS Выставлено, 
Sum([Оплата договоров купли/продажи].Сумма) AS Оплачено
FROM [Договор купли/продажи] INNER JOIN [Оплата договоров купли/продажи]
 ON [Договор купли/продажи].Договор = [Оплата договоров купли/продажи].Договор
GROUP BY [Договор купли/продажи].Договор, [Договор купли/продажи].[Всего цена]) AS S;
Я бы объединил все договора в одну таблицу и добавил поле тип договора
1
139 / 135 / 3
Регистрация: 27.07.2010
Сообщений: 342
16.09.2011, 14:34 18
Добрый день.
Я изменил базу данных.
Если согласны с изменениями, можно работать над запросами.
Еще раз повторяюсь: таблицы предназначены только для хранения исходных данных. Результаты в таблицах не хранят. Удали из таблиц все результирующие поля, которые должны будут получаться в результате вычислений.
1
139 / 135 / 3
Регистрация: 27.07.2010
Сообщений: 342
16.09.2011, 14:36 19
А вот и база
Вложения
Тип файла: rar ТЕСТ1_6.RAR (34.1 Кб, 94 просмотров)
1
16.09.2011, 14:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.09.2011, 14:36
Помогаю со студенческими работами здесь

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

Расчет программ для кредита с аннуитетным платежом
Всем привет! Написала программу, если вывродить вс по отдельности, то программа работает...

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

Вычислить сумму, которая удерживается с работника в счет погашения потребительского кредита и кредита на жилищное строительство
Нужно сделать задачи в Visual Basic 6.0 Задание 1!!!!!! Вычислить сумму, которая удерживается с...

Остаток на определенную дату
Нужно найти остаток ящиков на определенную дату. Используются в запросе таблицы Ящики, ПриёмТовара...

Найти остаток на определенную дату
Требуется найти остаток на определенную дату. Есть 3 таблицы: Ящики, Приход, Расход. В каждой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru