powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Итоговая сумма - пересчет по фильтру
9 сообщений из 9, страница 1 из 1
Итоговая сумма - пересчет по фильтру
    #32043807
Фотография MichaelGK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В проекте ленточная форма, в примечании которой поле выводящее итоговую сумму = Sum([SumDoc]), юзер накладывает фильтр, а сумма-то не пересчитывается. Как разрешить проблему без применения сервернрго фильтра?
...
Рейтинг: 0 / 0
Итоговая сумма - пересчет по фильтру
    #32043931
alk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
alk
Гость
в A2002 можно сделать следующим образом

выводишь сумму поле типа "список"
источник записей для которого формируется программно в звисимости от фильтра

типа

sqlstring = "select sum(myfield) from mytable where 1=1 and " & me.filter

me.spisok.recordsource = sqlstring
...
Рейтинг: 0 / 0
Итоговая сумма - пересчет по фильтру
    #32044533
Фотография MichaelGK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не проходит.... У меня данные для формы собираютсяся очень геморно кучей UDF(такая мне досталась база), для ускорения и удобства юзера я конечный набор гружу во временную таблицу из которой форма его и отображает. Т.е. по моей задумке юзер будет фильтровать. сортировать и пр. без перезапуска всей вычислительной байды... Все работает хорошо за исключением злосчастного итога... запрос для списка не видит временную таблицу. Может в каком-то сервиспаке Билл устранил заморочку с итоговой суммой?
...
Рейтинг: 0 / 0
Итоговая сумма - пересчет по фильтру
    #32044584
ДиД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сумма считается к тому набору, который пришел с сервера. Значит что? Правильно. Надо применять фильтр на стороне сервера. Составьте правильный запрос, который Вам будет возвращать с сервера то, что нужно. После изменения фильтра заново обновляйте данные на форме (заново запускаете запрос). Работает как часы.
...
Рейтинг: 0 / 0
Итоговая сумма - пересчет по фильтру
    #32044647
Фотография MichaelGK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Дид. Спасибо за совет, но Вы, вероятно, не поняли, что для меня не желательно перезапукать процедуры на сервере только для того , чтобы получить итог по поднабору данных т.е. серверный фильтр не подходит. Строка для формирования Источника строк к списку, имитирующему итоговое поле, не срабатывает, т.к. данные находятся во временной таблице - селект выражене почему-то ее не признает. Я придумал еще один ход: подсчитываю сумму в цикле Me.Recordset ... По событию Apply Filter применяю метод Filter к Rs = Me.Recordset и присваиваю это значение свободному полю. Работает... , а как пересчитать сумму после снятия фильтра? К какому событию привязать? Пока не знаю. может подскажете.
...
Рейтинг: 0 / 0
Итоговая сумма - пересчет по фильтру
    #32044670
ДиД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У Вас форма типа:
Товар1 1000
Товар2 2000
Товар3 3000
Сумма 6000
Вы накладываете фильтр по Товар1, т.е. на экране получаете
Товар1 1000
Сумма 1000
Если запрос составить правильно, то форма будет выдавать то, что надо (и не надо страшиться запросов на сервер. они на то и существуют, чтобы Вам выдавать данные)
Я Вам предлагаю самый ПРОСТОЙ путь, чем Вы хотите где-то отдельно считать и суммировать, а потом подставлять значение в суммирующее поле.
...
Рейтинг: 0 / 0
Итоговая сумма - пересчет по фильтру
    #32044683
Фотография MichaelGK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется мы друг друга не понимаем. Что значит - запрос сотавлен правильно - ? О каом запросе речь?
...
Рейтинг: 0 / 0
Итоговая сумма - пересчет по фильтру
    #32044696
ДиД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У Вас форма типа:
Товар1 1000
Товар2 2000
Товар3 3000
Сумма 6000
На форме имеется поле, в котором Вы задаете значение для фильтра. Значение может быть пустым или конкретным.
впишите условие в ХП where (ПолеТаблицыГдеИдетПоиск=@T) or (@T is null)

на экране получаете
Товар1 1000
Сумма 1000
...
Рейтинг: 0 / 0
Итоговая сумма - пересчет по фильтру
    #32044700
Фотография MichaelGK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, но так я умею и меня это не устраивает...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Итоговая сумма - пересчет по фильтру
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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