|
|
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста. В форме должна получиться такая табличка(меня интересуют поля долг и остаток) сумма оплачено долг 100_____ 50_____50 300______0______350 100_____500_____-50 То есть долг(2)=долг(1)+сумма(2)-оплачено(2). Подскажите, как мне подобраться к предыдущему значению поля долг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 13:06 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
долг(1) = долг(2)-сумма(2)+оплачено(2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 13:12 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
А зачем Долг хранишь в базе? Это вычисляемое значение, которое не надо хранить в бд Другое - если проводиться сознательная денормализация, но и в этом случаее она создана неверно (ИМХО). Отсюда и проблемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 13:24 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
А как верно? Подскажите, если не трудно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 14:01 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Я сделала вычисляемое поле (долг), а как мне к его предыдущему значению подобраться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 14:16 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Пусть меня поправят, но можно попробовать примерно так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 14:25 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Правда, то, что я предложил, годится только для текущей записи в форме и только если она не первая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 14:27 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
наверное что - нибудь типа: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 14:36 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
У меня была похожая задача: журнал по датам с приходом и расходом, нужно было вычислить на каждую дату остаток. Решал ее еще в ХЛ (давно было дело ;), естественно, через 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(ПолеДляСложения) - в обычном поле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 14:55 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
А что Asy делать будет если где-то через 10-20 проводок окажеться что внесенно не правильная сумма оплаты, и ее отредактируют. А долг, а долг последующих записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 15:16 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Asy и все остальные юзеры таких методов должны позаботиться об очистке временной таблицы и повторном ее заполнении НЕПОСРЕДСТВЕННО ПЕРЕД печатью отчета. (DELETE * и прочие радости ) На то таблица и временная ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 15:22 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Базу, основанную на не правильной структуре, ни одна временная таблица не спасет. Asy -пока не поздо -переделывай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 15:33 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Давай придумаем структуру. Только сообщите 1. Порядок поступления входных данных 2. Вид результирующего отчета 3. Требования к периодичности/времени подсчета, количеству обрабатываемых данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 15:42 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor: Именно так! Но есть и применения моего подхода. Нужно распечатать сальдо по банку на каждый день (за месяц/год - не важно), основываясь на входящем сальдо (который у бухгалтеров все равно идет как оборот, только на дату, предшествующую началу учета ;) и приходе - расходе за период. Что делать? Журнал всех дат - join - сумма с накоплением? (у меня) Или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 15:50 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Alexus12, а в какой структуре Вы храните эти приходы-расходы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 16:05 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Давай придумаем структуру. Только сообщите 1. Порядок поступления входных данных 2. Вид результирующего отчета 3. Требования к периодичности/времени подсчета, количеству обрабатываемых данных. Дата: сегодня, 15:42 Есть таблица Фактура в ней: код абонента, № периода, №счет-фактуры,сумма счета фактуры. Нужна форма, в которой для каждого абонента вносится оплата и высчитывается долг по формуле, приведенной в первом вопросе.Делается это по мере поступления оплаты.Кол-во обрабатываемых данных - 20 организаций*кол-во отчетных периодов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 16:25 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Asy, А в каком порядке и по какому правилу начисляется долг за период по каждому абононту? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 16:30 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Вообще, совершенно аналогичный вопрос обсуждался здесь База... только там мы ни до чего окончатьельного, не дошли (по-моему). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 16:38 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
WARA В форме должна получиться такая табличка(меня интересуют поля долг и остаток) сумма оплачено долг 100_____ 50_____50 300______0______350 100_____500_____-50 То есть долг(1)=сумма(1)-оплачено(1). долг(2)=долг(1)+сумма(2)-оплачено(2). Подскажите, как мне подобраться к предыдущему значению поля долг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2003, 10:13 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Еще раз то же самое ;) Нада два зыпроса: Запрос 1: выбирает поля сумма и оплачено из таблиц, где они у тебя хранятся. Одновременно рассчитывает долг (1)-(2) по каждой записи. Запрос 2: основан на первом, включает все его поля плюс содержит расчетное поле по функции SumField(долг_по_каждой_записи) (см. функцию в моем посте выше), в котором и получишь нужную цифирь. ВАЖНО: в запросе () должен стоять ключ SELECT DISTINCT, иначе функция насчитает бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2003, 10:38 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
Alexus12 Спасибо, попробую что получится! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2003, 11:21 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
asy а чем вам мой запрос как источник данных формы не понравился? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2003, 12:23 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
АлексейК Не совсем я его поняла, ведь мне нужно при вводе оплаты чтобы сразу менялась сумма долга (для конкретной записи, а не для набора). Но я все равно поэкспериментирую. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2003, 14:23 |
|
||
|
Сумма полей в форме (так понятнее)
|
|||
|---|---|---|---|
|
#18+
если для последней введенной записи то актуальная сумма долга = (сумма полученного) - (сумма оплаченного) если нет желания разбираться с синтаксисом sql - попробуй функцию DSUM() , только работает она не быстро в поле, котром желаешь видеть долг ставишь = dsum("[сумма] - [оплачено]";"MY_TABLE") MY_TABLE - замени на название твоей таблицы только не ставь это в область данных ленточной или табличных форм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2003, 15:35 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1794&tid=1681193]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 363ms |

| 0 / 0 |
