|
Остаток
|
|||
---|---|---|---|
#18+
Уважаемые знатоки помогите реализовать следующий замут: есть 4 таблицы (см. картинку) нужные данные хранятся в таблицах td_KBK_ZKR - расход и td_KBK_Reestr_Finans - финансирование таблицы td_KBK_ZKR имеет следующий вид: Код: vbnet 1. 2. 3. 4. 5.
таблицы td_KBK_Reestr_Finans имеет следующий вид: KBK_Reestr_Finans(КБК) summa_KBK_Reestr_Finans(сумма) Код: vbnet 1. 2. 3. 4. 5.
задача заключается в том, чтобы получить остаток средств на указанную дату т.е. должно получится так Код: vbnet 1. 2. 3. 4. 5.
Даты расходов и финансирования хранятся td_ZKR и td_reestr_finans связанных с td_KBK_ZKR и td_KBK_Reestr_Finans по ключевым полям. пока реализовано через кучу сохраненных запросов и без отбора по дате хотелось бы обойтись без сохраненных запросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 15:17 |
|
Остаток
|
|||
---|---|---|---|
#18+
*\/*#*хотелось бы обойтись без сохраненных запросов. Ну реализуй подзапросами. Всё равно суммировать по КБК каждую таблицу придётся. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 15:21 |
|
Остаток
|
|||
---|---|---|---|
#18+
Akina, а как насчет такого, что в таблице финансирования КБК есть, а расхода еще не было и в таблице расходов такого КБК еще нет, в таком случаи разность получить не получается (тавтология). как обойти? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 15:27 |
|
Остаток
|
|||
---|---|---|---|
#18+
т.е у меня есть 3 запроса 1 группировка финансирования Код: vbnet 1. 2. 3.
2 группировка расхода Код: vbnet 1. 2. 3.
3 Подсчет остатка Код: vbnet 1. 2.
но КБК по которым не было расхода в з запросе не отображаются ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 15:40 |
|
Остаток
|
|||
---|---|---|---|
#18+
9090, а мне нравится все делать на VBA ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 15:41 |
|
Остаток
|
|||
---|---|---|---|
#18+
*\/*#*но КБК по которым не было расхода в з запросе не отображаются А тип связи? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 15:44 |
|
Остаток
|
|||
---|---|---|---|
#18+
пардоньте-не связи, а объединения ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 15:47 |
|
Остаток
|
|||
---|---|---|---|
#18+
В принципе не суть сохраненный запрос или нет. главное чтобы считались остатки с нулевым расходом. И как добавить отбор по дате ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 15:47 |
|
Остаток
|
|||
---|---|---|---|
#18+
sdku, схема объединения во втором посте (картинка). Если я правильно Вас понял ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 15:50 |
|
Остаток
|
|||
---|---|---|---|
#18+
*\/*#*как насчет такого, что в таблице финансирования КБК есть, а расхода еще не было и в таблице расходов такого КБК еще нет, в таком случаи разность получить не получается (тавтология). как обойти?Почитать, что такое LEFT JOIN. Ну и до кучи COALESCE() или хотя бы IFNULL(). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 16:01 |
|
Остаток
|
|||
---|---|---|---|
#18+
Akina, Спасибо с вашей помощью дело продвигается! вот только не пойму как применить IsNull если пишу так, то в столбце финансирование выходят все нули Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 16:23 |
|
Остаток
|
|||
---|---|---|---|
#18+
*\/*#*вот только не пойму как применить IsNull Распечатайте мой постинг и свой ответ. Потом возьмите карандаш и сравнивайте написанное наименование функции, вычёркивая буквы. Авось поймёте. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 16:26 |
|
Остаток
|
|||
---|---|---|---|
#18+
*\/*#*, В конструкторе запросов щелкаете правой кнопкой мыша на связи таблиц, появляется окно "параметры объединения" по умолчанию стоит первый тип Вам же надо второй или третий ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 16:30 |
|
Остаток
|
|||
---|---|---|---|
#18+
Akina, функции IFNULL () нет в построителе выражений ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 16:31 |
|
Остаток
|
|||
---|---|---|---|
#18+
*\/*#*Akina, функции IFNULL () нет в построителе выражений Допетрил сделал свою функцию на проверку на NULL Код: vbnet 1. 2. 3.
и нули появились там где надо. теперь остаток выводится правильно. Остался вопрос с отбором по дате ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 16:44 |
|
Остаток
|
|||
---|---|---|---|
#18+
*\/*#**\/*#*Akina, функции IFNULL () нет в построителе выражений Допетрил сделал свою функцию на проверку на NULL Код: vbnet 1. 2. 3.
и нули появились там где надо. теперь остаток выводится правильно. Остался вопрос с отбором по датеДля этого ужк есть функция Nz. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 16:50 |
|
Остаток
|
|||
---|---|---|---|
#18+
9090автор ... Для этого ужк есть функция Nz. вроде она тока в Аксе иль ВБ6 точно - не помнюа мы сейчас где? Не в АксЕ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 17:23 |
|
Остаток
|
|||
---|---|---|---|
#18+
*\/*#*Akina, функции IFNULL () нет в построителе выраженийнет такой функции-есть IsNull (не изобретайте велосипед) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 17:48 |
|
Остаток
|
|||
---|---|---|---|
#18+
sdku*\/*#*Akina, функции IFNULL () нет в построителе выраженийнет такой функции-есть IsNull (не изобретайте велосипед) я про это и говорил что такой функции нет. В общем реализовать идею получилось с использованием 5 сохраненных запросов. Теперь есть идейка сделать по "чекбоксу" выводить строки с нулевым остатком или не выводить, но вот не знаю как прописать условие в сохраненном запросе реагирующее на "чекбокс" на форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2015, 14:51 |
|
|
start [/forum/topic.php?fid=45&msg=39074591&tid=1614426]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 167ms |
0 / 0 |