|
|
|
Помесячный расчет
|
|||
|---|---|---|---|
|
#18+
Имеем таблицу договоров аренды в которой указаны даты начала и окончания договора, форму куда вводится начало и окончание отчетного периода. Необходимо получить данные по начислению арендной платы в каждый месяц периода. Запрос на выборку договоров удовлетворяющих условиям отчетного периода создал, что дальше делать недотумкаю. ПОМОГИТЕ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 15:53 |
|
||
|
Помесячный расчет
|
|||
|---|---|---|---|
|
#18+
А надо, чтобы каждый месяц был в отдельной строке? Тогда нужна таблица месяцев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 15:55 |
|
||
|
Помесячный расчет
|
|||
|---|---|---|---|
|
#18+
Как ВС сказал? Названия таблиц и столбцов, а также текст запроса разглядеть не могу - очень мелко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 15:55 |
|
||
|
Помесячный расчет
|
|||
|---|---|---|---|
|
#18+
SELECT [Договоры аренды].Код, [Договоры аренды].Арендатор, [Договоры аренды].Арендодатель, [Договоры аренды].[Арендуемый объект], [Договоры аренды].[Арендуемая в объекте площадь], [Договоры аренды].[Цена за квм в месяц], [Договоры аренды].[цена по договору за месяц], [Договоры аренды].[реквизиты договора], [Договоры аренды].[Начало договора], [Договоры аренды].[срок окончания], [Договоры аренды].[Действует/недействует] FROM [Договоры аренды] WHERE ((([Договоры аренды].Арендатор) Like "*" & [Forms]![ВыборДоговоровАренды]![Арендатор]) AND (([Договоры аренды].Арендодатель) Like "*" & [Forms]![ВыборДоговоровАренды]![Арендодатель]) AND (([Договоры аренды].[Начало договора])<=[Forms]![ВыборДоговоровАренды]![СДаты]) AND (([Договоры аренды].[срок окончания])>=[Forms]![ВыборДоговоровАренды]![ПоДату])) OR ((([Договоры аренды].Арендатор) Like "*" & [Forms]![ВыборДоговоровАренды]![Арендатор]) AND (([Договоры аренды].Арендодатель) Like "*" & [Forms]![ВыборДоговоровАренды]![Арендодатель]) AND (([Договоры аренды].[Начало договора])<=[Forms]![ВыборДоговоровАренды]![СДаты]) AND (([Договоры аренды].[срок окончания])<=[Forms]![ВыборДоговоровАренды]![ПоДату] And ([Договоры аренды].[срок окончания])>[Forms]![ВыборДоговоровАренды]![СДаты])) OR ((([Договоры аренды].Арендатор) Like "*" & [Forms]![ВыборДоговоровАренды]![Арендатор]) AND (([Договоры аренды].Арендодатель) Like "*" & [Forms]![ВыборДоговоровАренды]![Арендодатель]) AND (([Договоры аренды].[Начало договора])>=[Forms]![ВыборДоговоровАренды]![СДаты]) AND (([Договоры аренды].[срок окончания])<=[Forms]![ВыборДоговоровАренды]![ПоДату])) OR ((([Договоры аренды].Арендатор) Like "*" & [Forms]![ВыборДоговоровАренды]![Арендатор]) AND (([Договоры аренды].Арендодатель) Like "*" & [Forms]![ВыборДоговоровАренды]![Арендодатель]) AND (([Договоры аренды].[Начало договора])>=[Forms]![ВыборДоговоровАренды]![СДаты] And ([Договоры аренды].[Начало договора])<[Forms]![ВыборДоговоровАренды]![ПоДату]) AND (([Договоры аренды].[срок окончания])>=[Forms]![ВыборДоговоровАренды]![ПоДату])); А получить теперь надо перекрестную таблицу: Строки - Номера договоров (их идентификаторы) Столбцы - месяцы в интервале (проблемма в том, что интервал может быть и один месяц и 26 и 128) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 15:58 |
|
||
|
Помесячный расчет
|
|||
|---|---|---|---|
|
#18+
Таблица месяцев нужна. Пардон, если повторяюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 16:01 |
|
||
|
Помесячный расчет
|
|||
|---|---|---|---|
|
#18+
Понятно - таблица месяцев - 12 штук а дальше что? Ну тупой я тупой. Или таблицу не на 12 месяцев а на ожидемый перод работы с базой ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 16:04 |
|
||
|
Помесячный расчет
|
|||
|---|---|---|---|
|
#18+
Можно на весь период. А можно ровно 12, но тогда надо еще таблицу годов, и тогда она должна быть на весь период. IMHO, первый вариант лучше. Дальше добавляем эту таблицу месяцев в запрос с условием "от - до". И вычисляем то, что нужно, на один месяц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 16:06 |
|
||
|
Помесячный расчет
|
|||
|---|---|---|---|
|
#18+
1. Максимальное кол-во столбцов в перекрестном запросе - не то 200, не то 250. 2. Делаем таблицы Месяцы (из одного поля "Месяц", с числами от 1 до 12) и Года (из одного поля "Год" с числами, скажем, от 1901 до 2099 :) 3. Создаем в каком-нибудь модуле Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. У меня перекрестный запрос не захотел к форме обращаться в 97-м акцессе. 4. Сам запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. (запрос не проверял, но должен работать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 16:25 |
|
||
|
Помесячный расчет
|
|||
|---|---|---|---|
|
#18+
СУПЕР! Спасибо огромное!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 16:59 |
|
||
|
Помесячный расчет
|
|||
|---|---|---|---|
|
#18+
Такс-с-с-с Прдскажите, плз, как теперь на основе этого запроса генерировать изменяемую форму? Ну или в окошке в форме просматривать результаты этого запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 14:50 |
|
||
|
Помесячный расчет
|
|||
|---|---|---|---|
|
#18+
Изменяемую - только через временную таблицу (select * from ThatQuery into TempTable) Форму - на событие отрытие отображать созданные ранее в достаточном количестве контролы, заполнять их .ControlSource, заполнять .Caption связанных с ними Label-ов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 17:10 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32477775&tid=1675355]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
191ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 522ms |

| 0 / 0 |
