powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сохранить пользовательские сортировки?
25 сообщений из 27, страница 1 из 2
Как сохранить пользовательские сортировки?
    #32432226
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ADP, но открываю ленточную форму на основе DAORecordset-а
из локальной mdb таблицы (хотя это в общем на суть вопроса не влияет)

Пользователь делает на форме всякие сортировки и фильтры,
по ходу иногда приходится затягивать Recordset заново,
но хочется чтобы фильтры и сортировки,
которые наделал пользователь сохранялись.
С фильтром просто сохранил - применил заново.
А как быть с сортировкой?
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432249
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что мешает сортировку сохранить?
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432253
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
совершенно тоже самое
очень удобственно хранить в реестре - хранится отдельно для каждого юзера,
можно хранить для каждой формы отдельно

смотри savesetting

а зачем тебе MDB ?????

чем - то не устраивают временные пользовательские таблицы на сервере, видимые только из текущего коннекта?
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432307
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А что мешает сортировку сохранить?
Мжно конкретный код?
типа

Сохранение сортировок
рекверя
востанавление сортировок

Я потому и спрашиваю , что лень выдумывать то,
что люди уже делали.

>а зачем тебе MDB ?????
ГлавногоЮзера начальник у которого клиент MDB-й
приучил самому вытаскивать инфу из формы
множественными сортировками и фильтрами

Клиентские сортировки на ADORecordset работают ЗНАЧИТЕЛЬНО медленнее
+ проблеммы с вычислением агрегирующих полей в примечании
(чтобы на них влияли клиентские фильтры надо мутить отдельный код,
где больше всего меня бесит несоответствие синтаксиса фильтра рекодсета
формы и стандартного ADOrecordset-а)
А так три строчки извращенного кода и форма сидит на DAORecordset-е
где все вычисляется само и работает мгновенно
т.к. основана на временном MDB-ке
лежащем локально на компе.
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432331
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
заменяешь в своем коде
Me.Filter
Me.FilterOn

Me.OrderBy
Me.OrderByOn
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432334
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что нибудь типа такого
Код: plaintext
1.
2.
3.
4.
strOrderBy = Me.OrderBy
blnOrderByOn = Me.OrderByOn
Me.Requery
Me.OrderBy = strOrderBy
Me.OrderByOn = blnOrderByOn


Если надо совсем сохранять - то в реестр чеши/питай
Код: plaintext
1.
SaveSetting  "Прога Latuk'а", Me.Name, "OrderBy", Me.OrderBy
SaveSetting "Прога Latuk'а" , Me.Name,  "OrderByOn" , Me.OrderByOn
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432354
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКлиентские сортировки на ADORecordset работают ЗНАЧИТЕЛЬНО медленнее
+ проблеммы с вычислением агрегирующих полей в примечании

никогда не замечал тормозов... может проблема в вычислении итоговых значений как агрегатов в примечании ??? - так в адп делать неприемлемо.

для вычисления агрегатов можно программно :
1. вычислять значение и выводить его в текстбокс
2. вычислять по фильтру формы условие отбора и заменять его в источнике данных листбокса (можно несколько разных сумм в один контрол)
а) в несколько столбцов - подписи сверху
б) в несколько строк - select с именами параметров и их значениями
3. применять фильтр формы на клон рекордсета и вычислять в нем

а в твоем способе будут проблемы если пользователь захочет изменять данные
- синхронизация данных введенных пользователем и данными которые за время его работы в мдб изменили другие пользователи на сервере.
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432486
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>вычислять по фильтру формы условие отбора
>а) в несколько столбцов - подписи сверху
>б) в несколько строк - select с именами параметров и их значениями
представляеш сколько доп кода?
+инерция пользователей привыкших к MDB.
>3. применять фильтр формы на клон рекордсета и вычислять в нем
сам то пробывал?
Как насчет того что у них синтаксис разный?
>- синхронизация данных введенных пользователем и данными которые за
>время его работы в мдб изменили другие пользователи на сервере.
Тогда надо открыть DAORecordset на основе МВВ запроса к серверу
будет чуть медленнее чем на временной таблице,
но кстати быстрее чем через ADO(проверял)

Проходил я все это запарился.
Потом IgorM посоветовал путь с временным MDB.
Написал три строчки-Все работает
Я согласен что это извращение,
но результат достигнут и очень легко.
Применяю его на форме где тыкает СмыйГлавныйЮзер привыкший к MDB
с которым спорить себе дороже.

2ЛП
То что я хотел :)
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432672
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор>вычислять по фильтру формы условие отбора
>а) в несколько столбцов - подписи сверху
>б) в несколько строк - select с именами параметров и их значениями
представляеш сколько доп кода?
а что мне представлять? у меня так много где сделано. совсем немного кода.

автор+инерция пользователей привыкших к MDB.
а для пользователя все совершенно одинаково выглядит форма как форма - он же не делает ревизию кода ...

автор>3. применять фильтр формы на клон рекордсета и вычислять в нем
сам то пробывал?

так не делал, всегда генерю запрос возвращающий одно суммовое значение или список суммовых значений и потом их помещаю в контролы,

вызов функции пересчета из одного контрола формулой - функцией а функция пересчитывает глобальный массив (массив если суммы нужны для каждой записи ленточной формы) значений формы и обновляет значения других пересчитываемых контролов

авторКак насчет того что у них синтаксис разный?

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


автор>- синхронизация данных введенных пользователем и данными которые за
>время его работы в мдб изменили другие пользователи на сервере.
Тогда надо открыть DAORecordset на основе МВВ запроса к серверу
будет чуть медленнее чем на временной таблице,
но кстати быстрее чем через ADO(проверял)

гы, всякое видел , но такого....

Кстати сейчас, и твой топик еще раз мне напомнил о моей задумке, хочу добить вопрос почему при присвоению рекордсета отчету в нем та же лажа что и с формой -в плане функций группировки.

в чем прелесть рекордсета который создает сам отчет на основе recordsource? и как сделать такой же для формы.

сижу, сравниваю параметры, пока ничего не помогает
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432700
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потом IgorM посоветовал путь с временным MDB.
Написал три строчки-Все работает
Я согласен что это извращение

Ну почему же извращение? Тогда я тоже извращенец - у меня к адп прицеплен мдб с единственной табличкой настроек. Сама таблица сделана по "деревянной" структуре и по ней строится дерево настроек проги (не все настройки, а только имеющие опреденный признак). В итоге: удобство хранения и скрытых и открытых для юзеров настроек, приятный интерфейс их изменения.
В момент запуска проги создается клиентский отсоединеный паблик рекодсет, по полям ID делаю Properties("Optimize") = True (типа локальный индекс создаю) - ищется быстро и на ура.

еще как вариант хранить специфичные настройки в свойствах самой формы, но тогда при обновлении проги они похерятся.
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432734
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭХ... понесло меня ))

2 Senin Viktor

иногда меня люди просто удивляют, иногда смешат.
в в твоем случае - просто нет слов, хотя понимаю что как правило что многие решения просто наследство старых решений...

как насчет хранить настройки на сервере в одной таблице в которой каждому пользователю дать уникальный код а его брать из реестра??

все настройки можно будет вытащить запросом SELECT * FROM настройки Where Код = <Код пользователя из реестра>
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432755
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторкак насчет хранить настройки на сервере в одной таблице в которой каждому пользователю дать уникальный код а его брать из реестра??

В общем-то согласен.
Вот только причем здесь реестр?
Каждый пользователь при входе на сервер (ведь речь идет об ADP+SQL) и так известен.
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432758
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ALL
Полностью согласен с АлексейК - ну нафига использовать мдб файла в адп проектах? Всё можно решить на сервере, путём ини файлов, реестар (хотя последнее мне не очень нравится - например, пользователь крайне ограничен в правах на своей машине).


АлексейК так не делал, всегда генерю запрос возвращающий одно суммовое значение или список суммовых значений и потом их помещаю в контролы

Вот абсолютно верное решение для вычисления итогов и не нужны никакие рекордсеты. Больше того, можно написать ОДИН раз хранимую в качестве параметров которой выступит таблица и столбцы для суммирования....
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432796
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Incod

авторКаждый пользователь при входе на сервер (ведь речь идет об ADP+SQL) и так известен

вобщем то да но и нет одновременно :

1 не всегда под одним логином работает один человек
2 не всегда с одного компа работает один человек (несколько профилей)

2 Hummer

Хоть кто то меня поддерживает, а то все спорят , я так и в депрессию могу впасть ))


А никто не знает прогу -шпиончика для адо ?
хочу посмотреть как в ADP отчет формирует рекордсет
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432835
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвобщем то да но и нет одновременно :

1 не всегда под одним логином работает один человек
2 не всегда с одного компа работает один человек (несколько профилей)

2 Hummer

Хоть кто то меня поддерживает, а то все спорят , я так и в депрессию могу впасть ))

Сначала о хорошем - я тоже во всем согласен (кроме реестра)

Теперь о плохом...имхо
1 - если под одним логином работает несколько человек - это проблемы с политикой безопасности.
2 - даже если с одного компа работает весь офис - есть такая вещь как завершение сеанса и вход под своим логином.

Т.е. при нормальной организации политики безопасности - логин юзера и есть тот уникальный код, который ты предлагаешь хранить в реестре.
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432844
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все умные - один я дурак :)

2АлексейК
как насчет хранить настройки на сервере в одной таблице в которой каждому пользователю дать уникальный код а его брать из реестра??

SELECT * FROM настройки Where Код = <Код пользователя из реестра>

Настройки хранятся на сервере - но только как эталонные, и в момент создания нового юзера, в момент первой попытки обращения к локальной таблице (которая пока пустая или не полная) копируются эталонные записи.

На счет - дать код юзверю - дык я зае%%%сь кода раздовать - это надо дать код, размножить эталонные записи для этого кода юзверя - триггером на системную таблицу не повесишь (момент добавления нового юзверя) - прийдется извращаться через что-то. А меня моя прога в будущем разъедется по всем филалам СНГ (Челябинск, Киев, Казахстан) - а если учесть, что на некоторых предприятиях даже нормального инета нет и прогеров и любовь руководства к командировкам ... нет уж. Хотя и извратнуться можно элементароно - нет юзера - занчит размножаем записи и отдаем ему, НО настройки в некотрых местах используються ну очень даже активно - сотни запросов к серверу, сотни записей на сервер, когда 1 раз обновил и спокойно юзаешь, не тревожа сервер.


А никто не знает прогу -шпиончика для адо ?
хочу посмотреть как в ADP отчет формирует рекордсет

Profiler

2Hummer
ну нафига использовать мдб файла в адп проектах?
Хорошо поговорить с людьми, знающими специфику твоей работы, лучше чем я сам :)
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432852
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТ.е. при нормальной организации политики безопасности - логин юзера и есть тот уникальный код, который ты предлагаешь хранить в реестре.

видимо так, или логин + идентификатор приложения чьи настройки


а что касается политики безопасности то в небольших базах данных не всегда есть нужда задействовать роли - иногда достаточно одного логина для группы операторов выполняющих сходные функции, поэтому и высказал мнение про параметр в реестре
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432860
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>а то что разное заменяем реплейсом а заменить там надо имя формы с точкой на ""
ты просто не копал дальше.
Там еще много сюрпризов (взять хотя-бы Like<=>ALike,%<=>*)
для полноценной работы придется писать целый транслятор.
>совсем немного кода.
Уверен,что больше трех строк.
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432872
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor
боже упаси мне умалять чьи либо достоинства.
совсем не собирался говорить обидные слова.

что касается удобства то :
самая близкая дорога - та которую лучше всего знаешь ...


А профилер мне не подойдет
я хочу смотреть опции устанавливаемые при вызове библиотеки ADO на локальном компьютере а не запросы , которые она шлет серверу (или я чего не понимаю?)

например хочу поймать строку подключения рекордсета именно в момент открытия отчетом объекта рекордсет,
посмотреть динамические свойства задаваемые перед открытием, например

Auto Recalc DBPROP_ADC_AUTORECALC
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432883
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2АлексейК
боже упаси мне умалять чьи либо достоинства.
совсем не собирался говорить обидные слова.

Где ты увидел АбыДные слова, я же смалик поставил :)
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432898
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Latuk
Latuk Там еще много сюрпризов (взять хотя-бы Like<=>ALike,%<=>*)
для полноценной работы придется писать целый транслятор.

вобщем то да, но только написать его нужно только один раз, даже где -то был готовый, но найти не могу.

2 Senin Viktor
а я на всякий случай извенился, чтоб не обидеть хорошего человека. ))
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432935
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor
Senin ViktorХорошо поговорить с людьми, знающими специфику твоей работы, лучше чем я сам :)

Да никто лучше и не знает:) Просто мы не используем:) Не знаю, по мне лучше инишник чем мдб (сугубо мой мнение).
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432942
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я на всякий случай извенился, чтоб не обидеть хорошего человека. ))

Чувствуется в тебе классный программист - даже в беседе проводишь обработку возможных ошибок
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32432948
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Hummer
по мне лучше инишник чем мдб (сугубо мой мнение).

Из-за молодости - с ini-файлами никогда не работал, а так же не хотелось бы выдумывать новую процедуру для заполнения TreeView
...
Рейтинг: 0 / 0
Как сохранить пользовательские сортировки?
    #32433246
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>но только написать его нужно только один раз, даже где -то был готовый
Если есть хотелосьбы поиметь (самому писать влом и так все работает
да и сам факт бесит - зачем было делать разный синтаксис у фильтров?)
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сохранить пользовательские сортировки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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