powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сумма полей в форме (так понятнее)
25 сообщений из 25, страница 1 из 1
Сумма полей в форме (так понятнее)
    #32177272
Asy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, пожалуйста.
В форме должна получиться такая табличка(меня интересуют поля долг и остаток)

сумма оплачено долг
100_____ 50_____50
300______0______350
100_____500_____-50
То есть долг(2)=долг(1)+сумма(2)-оплачено(2).
Подскажите, как мне подобраться к предыдущему значению поля долг?
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177286
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
долг(1) = долг(2)-сумма(2)+оплачено(2)
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177303
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем Долг хранишь в базе?
Это вычисляемое значение, которое не надо хранить в бд
Другое - если проводиться сознательная денормализация, но и в этом случаее она создана неверно (ИМХО). Отсюда и проблемы
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177373
Asy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как верно? Подскажите, если не трудно.
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177403
Asy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сделала вычисляемое поле (долг), а как мне к его предыдущему значению подобраться?
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177410
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Пусть меня поправят, но можно попробовать примерно так:

Код: plaintext
1.
2.
3.
4.
With Me.RecordsetClone
    .Bookmark = Me.Bookmark
    .MovePrevious
    DolgPrev = !Dolg
End With
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177412
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Правда, то, что я предложил, годится только для текущей записи в форме и только если она не первая.
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177429
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное что - нибудь типа:

Код: plaintext
select КОД, сумма, оплачено,(select sum(сумма) - sum(долг) from TABLE1 tbl1 where tbl1.КОД <= TABLE1.КОД) as долг  from TABLE1
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177457
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня была похожая задача:
журнал по датам с приходом и расходом, нужно было вычислить на каждую дату остаток.
Решал ее еще в ХЛ (давно было дело ;), естественно, через VB.
И здесь, мне кажется, можно пройтись из VB по всем записям отсортированной в нужном порядке таблицы
и в процессе прохождения во временную таблицу выбрасывать результаты.

Или воспользоваться опять же VB-шной функцией sumfield

Public Function SumField(Optional var) As Double
Static D As Double
If IsMissing(var) Then
D = 0
Else
D = D + Nz(var, 0)
End If
SumField = D
End Function

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

Первый вызов для сброса счетчика -
SumField()
- просто вставить в строку "условие" конструктора;
след. вызовы
ИмяПоляСНакопСуммой: SumField(ПолеДляСложения)
- в обычном поле
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177504
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что Asy делать будет если где-то через 10-20 проводок окажеться что внесенно не правильная сумма оплаты, и ее отредактируют. А долг, а долг последующих записей?
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177519
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asy и все остальные юзеры таких методов должны
позаботиться об очистке временной таблицы и повторном ее заполнении
НЕПОСРЕДСТВЕННО ПЕРЕД печатью отчета.
(DELETE * и прочие радости )

На то таблица и временная ;)
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177539
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Базу, основанную на не правильной структуре, ни одна временная таблица не спасет.
Asy -пока не поздо -переделывай
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177551
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай придумаем структуру. Только сообщите
1. Порядок поступления входных данных
2. Вид результирующего отчета
3. Требования к периодичности/времени подсчета, количеству обрабатываемых данных.
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177564
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor:
Именно так!

Но есть и применения моего подхода.
Нужно распечатать сальдо по банку на каждый день (за месяц/год - не важно), основываясь на входящем сальдо (который у бухгалтеров все равно идет как оборот, только на дату, предшествующую началу учета ;)
и приходе - расходе за период.
Что делать?
Журнал всех дат - join - сумма с накоплением? (у меня)
Или как?
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177592
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexus12,
а в какой структуре Вы храните эти приходы-расходы?
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177625
Asy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай придумаем структуру. Только сообщите
1. Порядок поступления входных данных
2. Вид результирующего отчета
3. Требования к периодичности/времени подсчета, количеству обрабатываемых данных.
Дата: сегодня, 15:42



Есть таблица Фактура в ней: код абонента, № периода, №счет-фактуры,сумма счета фактуры. Нужна форма, в которой для каждого абонента вносится оплата и высчитывается долг по формуле, приведенной в первом вопросе.Делается это по мере поступления оплаты.Кол-во обрабатываемых данных - 20 организаций*кол-во отчетных периодов.
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177632
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asy,
А в каком порядке и по какому правилу начисляется долг за период по каждому абононту?
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32177639
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, совершенно аналогичный вопрос обсуждался здесь База... только там мы ни до чего окончатьельного, не дошли (по-моему).
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32178102
Asy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WARA
В форме должна получиться такая табличка(меня интересуют поля долг и остаток)

сумма оплачено долг
100_____ 50_____50
300______0______350
100_____500_____-50

То есть долг(1)=сумма(1)-оплачено(1).
долг(2)=долг(1)+сумма(2)-оплачено(2).

Подскажите, как мне подобраться к предыдущему значению поля долг?
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32178130
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз то же самое ;)
Нада два зыпроса:

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

Запрос 2: основан на первом, включает все его поля
плюс содержит расчетное поле
по функции SumField(долг_по_каждой_записи)
(см. функцию в моем посте выше),
в котором и получишь нужную цифирь.

ВАЖНО:
в запросе () должен стоять ключ
SELECT DISTINCT,
иначе функция насчитает бред.
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32178193
Asy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexus12
Спасибо, попробую что получится!
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32178279
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asy а чем вам мой запрос как источник данных формы не понравился?
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32178462
Asy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейК

Не совсем я его поняла, ведь мне нужно при вводе оплаты чтобы сразу менялась сумма долга (для конкретной записи, а не для набора). Но я все равно поэкспериментирую. Спасибо.
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32178566
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если для последней введенной записи то
актуальная сумма долга = (сумма полученного) - (сумма оплаченного)

если нет желания разбираться с синтаксисом sql
- попробуй функцию DSUM() , только работает она не быстро

в поле, котром желаешь видеть долг ставишь

= dsum("[сумма] - [оплачено]";"MY_TABLE")

MY_TABLE - замени на название твоей таблицы

только не ставь это в область данных ленточной или табличных форм.
...
Рейтинг: 0 / 0
Сумма полей в форме (так понятнее)
    #32178962
Zrw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zrw
Гость
Если надо, я могу выслать пример, показывающий, как довольно просто реализовать требуемое. При указанном количестве данных тормозить сильно не должно. Если надо - обращайся по email
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сумма полей в форме (так понятнее)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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