powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Учет долгов
25 сообщений из 44, страница 1 из 2
Учет долгов
    #39407148
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем. Возникла такая ситуация. Хочу решить вопрос по 3 участниками, то есть
1. есть участники А В С. Они между собой дают и берут деньги, и в итоге надо получить отчет о задолженности всех участников

Создал таблицы
1 Uchastniki
2 Memo
3 SubMemo

Пробовал через запрос но не получил результата
...
Рейтинг: 0 / 0
Учет долгов
    #39407152
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот база, для отчета первого участника должно получится в итоге так
А
......................
А......В...200
С......А...200
В......А...100
А......С...1000
но получается другое смотрите отчет
Может я не туда копаю?
Помогите плиз
...
Рейтинг: 0 / 0
Учет долгов
    #39407178
Minatavr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не туда.
Нужна обычная схема дебет-кредит.
На каждого участника нужно создать по две колонки: ПОТРАТИЛ, ПОТРЕБИЛ.

Например, если втроем посидели в ресторане на 1500р, то появляется запись (одной строкой):

1-й участник ПОТРАТИЛ 900р, ПОТРЕБИЛ 500р
2-й участник ПОТРАТИЛ 600р, ПОТРЕБИЛ 500р
3-й участник ПОТРАТИЛ 0р, ПОТРЕБИЛ 500р
В сумме: сколько потратили на троих, столько же и потребили на троих. Сразу видно: кто должен и кому должны.
...
Рейтинг: 0 / 0
Учет долгов
    #39407188
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поменял memo и submemo так
1 в memo добавил uchastnik
2 в submemo поля poluchil и otdal сделал денежный формат и добавил uchastnik.
И тоже никакполучаю след картину в отчете
А....
А...В...200
С...А...1000
А остальные по участнику А не появляются
...
Рейтинг: 0 / 0
Учет долгов
    #39407191
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот изменения
...
Рейтинг: 0 / 0
Учет долгов
    #39407193
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это как бы займы между участниками. Один дал другому, второой вернул или отдал немножко третьему и т.д.. В итоге нужен отчет кто перед кем в долгу, и кому кто сколько должен.
...
Рейтинг: 0 / 0
Учет долгов
    #39407205
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку система замкнутая и беспроцентная,
достаточно посмотреть остатки по счетам участников.
...
Рейтинг: 0 / 0
Учет долгов
    #39407207
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так предлагаете
Дебет...Уч...Кредит...Уч...Сумма
Получ...А.....отдал....В...100

И отчет сделать по получению или выдаче ?????
...
Рейтинг: 0 / 0
Учет долгов
    #39407210
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да ладно остатки понимаю а как в отчете указать что например для участника А кому он дал взаймы, у кого получил.
...
Рейтинг: 0 / 0
Учет долгов
    #39407265
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так надо получить но я так понимаю не получится
...
Рейтинг: 0 / 0
Учет долгов
    #39407267
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
упс для "В" в поле получил 2100USD
...
Рейтинг: 0 / 0
Учет долгов
    #39407281
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот на еxcel-е это дело пожно получить через SUMPRODUCT а как отчет реализовать в ACCESS
...
Рейтинг: 0 / 0
Учет долгов
    #39407305
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чуть поправим...
...
Рейтинг: 0 / 0
Учет долгов
    #39407312
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположу, что хотелось иметь такой запрос
Код: sql
1.
2.
3.
4.
5.
SELECT Memo.uchastnik, SubMemo.uchastnik as Subuchastnik, 
  Sum(SubMemo.poluchil) AS [Sum-poluchil], Sum(SubMemo.otdal) AS [Sum-otdal], 
  nz([Sum-poluchil],0)-nz([Sum-otdal],0) as ostatok
FROM SubMemo INNER JOIN [Memo] ON SubMemo.ID_memo=Memo.ID_memo
GROUP BY Memo.uchastnik, SubMemo.uchastnik
...
Рейтинг: 0 / 0
Учет долгов
    #39407367
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_world Ваш запрос почти к решению но посмотрите что должно было бы получится если записать на бумажке действия из формы Memo

1..2..1000..100
1..3..3000..2000
2..1..500....0
2..3..0.......300
3..2..1000..0

Aпо Вашему запросы получается так
...
Рейтинг: 0 / 0
Учет долгов
    #39407370
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это запрос alecko вроде все ОК, но суммируя по бумажке должно получится так
Участник...Получил...Отдал
1..............4000.........500
2..............500...........1400
3..............1000.........2300
...
Рейтинг: 0 / 0
Учет долгов
    #39407372
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я наверно схему не так построил поэтому путаница получается Может поле УЧАСТНИК на главной переместить в ПОДЧИНЕННУЮ ФОРМУ
...
Рейтинг: 0 / 0
Учет долгов
    #39407377
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или расчленить SubMemo на Получил и Отдал
На практике в Мемориальных ордерах пишется так

Дебет...КлиентПоДебету...Кредит...КлиентПоКредиту......Сумма....Наименование сделки
...
Рейтинг: 0 / 0
Учет долгов
    #39407382
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При таком запросе
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT U1 AS Участник1, U2 AS Участник2, Sum(U2In) AS [Получил от Участника1], Sum(U2Out) AS [Отдал Участнику1], Sum(U2In)-Sum(U2Out) AS [Должен Участнику1]
FROM [SELECT SubMemo.ID_memo, Memo.uchastnik AS U1, SubMemo.uchastnik AS U2, SubMemo.poluchil AS U2In, SubMemo.otdal AS U2Out
FROM [Memo] INNER JOIN SubMemo ON Memo.ID_memo = SubMemo.ID_memo
UNION ALL
SELECT SubMemo.ID_memo, SubMemo.uchastnik AS U1, Memo.uchastnik AS U2, SubMemo.otdal AS U2In, SubMemo.poluchil AS U2Out
FROM [Memo] INNER JOIN SubMemo ON Memo.ID_memo = SubMemo.ID_memo]. AS [%$##@_Alias]
GROUP BY U1, U2;

для данных таблиц получается такой результат - см. картинку.
Это правильно для этих данных?
...
Рейтинг: 0 / 0
Учет долгов
    #39407386
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ser Artur, в таблице Memo Вы помойму напутали немножко (участника "С" там не было), ну и я тож , я сделал ещё уточнение кто и кому должен/получил - если не надо доптаблицу и крайний столбец в запросе просто удалите.
...
Рейтинг: 0 / 0
Учет долгов
    #39407450
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭто правильно для этих данных?
Правильно но пишет
...
Рейтинг: 0 / 0
Учет долгов
    #39407451
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ser Artur,

У меня такого не пишет, ведь запрос выполнился, результаты показаны.
Могу сбросить БД с запросом и отчетом.
Нужно?
...
Рейтинг: 0 / 0
Учет долгов
    #39407452
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JOIN SubMemo ON Memo.ID_memo = SubMemo.ID_memo]. AS [%$##@_Alias] это что за формат
...
Рейтинг: 0 / 0
Учет долгов
    #39407453
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если можно сбросьте БД
...
Рейтинг: 0 / 0
Учет долгов
    #39407455
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ser Artur,

А, это конструктор запросов влез и искорежил запрос при сохранении.
Сейчас дам вариант без искажений.
Вот он.
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT U1 AS Участник1, U2 AS Участник2, Sum(U2In) AS [Получил от Участника1], Sum(U2Out) AS [Отдал Участнику1], Sum(U2In)-Sum(U2Out) AS [Должен Участнику1]
FROM (SELECT SubMemo.ID_memo, Memo.uchastnik AS U1, SubMemo.uchastnik AS U2, SubMemo.poluchil AS U2In, SubMemo.otdal AS U2Out
FROM [Memo] INNER JOIN SubMemo ON Memo.ID_memo = SubMemo.ID_memo
UNION ALL
SELECT SubMemo.ID_memo, SubMemo.uchastnik AS U1, Memo.uchastnik AS U2, SubMemo.otdal AS U2In, SubMemo.poluchil AS U2Out
FROM [Memo] INNER JOIN SubMemo ON Memo.ID_memo = SubMemo.ID_memo) AS Q
GROUP BY U1, U2;

Красным показано, как должно быть.
А он меняет скобки на квадратные. Нужно следить за этим безобразием и исправлять.
...
Рейтинг: 0 / 0
25 сообщений из 44, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Учет долгов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]