|
|
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
ADP, но открываю ленточную форму на основе DAORecordset-а из локальной mdb таблицы (хотя это в общем на суть вопроса не влияет) Пользователь делает на форме всякие сортировки и фильтры, по ходу иногда приходится затягивать Recordset заново, но хочется чтобы фильтры и сортировки, которые наделал пользователь сохранялись. С фильтром просто сохранил - применил заново. А как быть с сортировкой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 10:26 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
А что мешает сортировку сохранить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 10:33 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
совершенно тоже самое очень удобственно хранить в реестре - хранится отдельно для каждого юзера, можно хранить для каждой формы отдельно смотри savesetting а зачем тебе MDB ????? чем - то не устраивают временные пользовательские таблицы на сервере, видимые только из текущего коннекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 10:35 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
>А что мешает сортировку сохранить? Мжно конкретный код? типа Сохранение сортировок рекверя востанавление сортировок Я потому и спрашиваю , что лень выдумывать то, что люди уже делали. >а зачем тебе MDB ????? ГлавногоЮзера начальник у которого клиент MDB-й приучил самому вытаскивать инфу из формы множественными сортировками и фильтрами Клиентские сортировки на ADORecordset работают ЗНАЧИТЕЛЬНО медленнее + проблеммы с вычислением агрегирующих полей в примечании (чтобы на них влияли клиентские фильтры надо мутить отдельный код, где больше всего меня бесит несоответствие синтаксиса фильтра рекодсета формы и стандартного ADOrecordset-а) А так три строчки извращенного кода и форма сидит на DAORecordset-е где все вычисляется само и работает мгновенно т.к. основана на временном MDB-ке лежащем локально на компе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 10:58 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
заменяешь в своем коде Me.Filter Me.FilterOn Me.OrderBy Me.OrderByOn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 11:06 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
Что нибудь типа такого Код: plaintext 1. 2. 3. 4. Если надо совсем сохранять - то в реестр чеши/питай Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 11:06 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
авторКлиентские сортировки на ADORecordset работают ЗНАЧИТЕЛЬНО медленнее + проблеммы с вычислением агрегирующих полей в примечании никогда не замечал тормозов... может проблема в вычислении итоговых значений как агрегатов в примечании ??? - так в адп делать неприемлемо. для вычисления агрегатов можно программно : 1. вычислять значение и выводить его в текстбокс 2. вычислять по фильтру формы условие отбора и заменять его в источнике данных листбокса (можно несколько разных сумм в один контрол) а) в несколько столбцов - подписи сверху б) в несколько строк - select с именами параметров и их значениями 3. применять фильтр формы на клон рекордсета и вычислять в нем а в твоем способе будут проблемы если пользователь захочет изменять данные - синхронизация данных введенных пользователем и данными которые за время его работы в мдб изменили другие пользователи на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 11:17 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
>вычислять по фильтру формы условие отбора >а) в несколько столбцов - подписи сверху >б) в несколько строк - select с именами параметров и их значениями представляеш сколько доп кода? +инерция пользователей привыкших к MDB. >3. применять фильтр формы на клон рекордсета и вычислять в нем сам то пробывал? Как насчет того что у них синтаксис разный? >- синхронизация данных введенных пользователем и данными которые за >время его работы в мдб изменили другие пользователи на сервере. Тогда надо открыть DAORecordset на основе МВВ запроса к серверу будет чуть медленнее чем на временной таблице, но кстати быстрее чем через ADO(проверял) Проходил я все это запарился. Потом IgorM посоветовал путь с временным MDB. Написал три строчки-Все работает Я согласен что это извращение, но результат достигнут и очень легко. Применяю его на форме где тыкает СмыйГлавныйЮзер привыкший к MDB с которым спорить себе дороже. 2ЛП То что я хотел :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 12:23 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
автор>вычислять по фильтру формы условие отбора >а) в несколько столбцов - подписи сверху >б) в несколько строк - select с именами параметров и их значениями представляеш сколько доп кода? а что мне представлять? у меня так много где сделано. совсем немного кода. автор+инерция пользователей привыкших к MDB. а для пользователя все совершенно одинаково выглядит форма как форма - он же не делает ревизию кода ... автор>3. применять фильтр формы на клон рекордсета и вычислять в нем сам то пробывал? так не делал, всегда генерю запрос возвращающий одно суммовое значение или список суммовых значений и потом их помещаю в контролы, вызов функции пересчета из одного контрола формулой - функцией а функция пересчитывает глобальный массив (массив если суммы нужны для каждой записи ленточной формы) значений формы и обновляет значения других пересчитываемых контролов авторКак насчет того что у них синтаксис разный? а то что разное заменяем реплейсом а заменить там надо имя формы с точкой на "" автор>- синхронизация данных введенных пользователем и данными которые за >время его работы в мдб изменили другие пользователи на сервере. Тогда надо открыть DAORecordset на основе МВВ запроса к серверу будет чуть медленнее чем на временной таблице, но кстати быстрее чем через ADO(проверял) гы, всякое видел , но такого.... Кстати сейчас, и твой топик еще раз мне напомнил о моей задумке, хочу добить вопрос почему при присвоению рекордсета отчету в нем та же лажа что и с формой -в плане функций группировки. в чем прелесть рекордсета который создает сам отчет на основе recordsource? и как сделать такой же для формы. сижу, сравниваю параметры, пока ничего не помогает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 13:51 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
Потом IgorM посоветовал путь с временным MDB. Написал три строчки-Все работает Я согласен что это извращение Ну почему же извращение? Тогда я тоже извращенец - у меня к адп прицеплен мдб с единственной табличкой настроек. Сама таблица сделана по "деревянной" структуре и по ней строится дерево настроек проги (не все настройки, а только имеющие опреденный признак). В итоге: удобство хранения и скрытых и открытых для юзеров настроек, приятный интерфейс их изменения. В момент запуска проги создается клиентский отсоединеный паблик рекодсет, по полям ID делаю Properties("Optimize") = True (типа локальный индекс создаю) - ищется быстро и на ура. еще как вариант хранить специфичные настройки в свойствах самой формы, но тогда при обновлении проги они похерятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 14:01 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
ЭХ... понесло меня )) 2 Senin Viktor иногда меня люди просто удивляют, иногда смешат. в в твоем случае - просто нет слов, хотя понимаю что как правило что многие решения просто наследство старых решений... как насчет хранить настройки на сервере в одной таблице в которой каждому пользователю дать уникальный код а его брать из реестра?? все настройки можно будет вытащить запросом SELECT * FROM настройки Where Код = <Код пользователя из реестра> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 14:14 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
авторкак насчет хранить настройки на сервере в одной таблице в которой каждому пользователю дать уникальный код а его брать из реестра?? В общем-то согласен. Вот только причем здесь реестр? Каждый пользователь при входе на сервер (ведь речь идет об ADP+SQL) и так известен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 14:24 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
2 ALL Полностью согласен с АлексейК - ну нафига использовать мдб файла в адп проектах? Всё можно решить на сервере, путём ини файлов, реестар (хотя последнее мне не очень нравится - например, пользователь крайне ограничен в правах на своей машине). АлексейК так не делал, всегда генерю запрос возвращающий одно суммовое значение или список суммовых значений и потом их помещаю в контролы Вот абсолютно верное решение для вычисления итогов и не нужны никакие рекордсеты. Больше того, можно написать ОДИН раз хранимую в качестве параметров которой выступит таблица и столбцы для суммирования.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 14:26 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
2 Incod авторКаждый пользователь при входе на сервер (ведь речь идет об ADP+SQL) и так известен вобщем то да но и нет одновременно : 1 не всегда под одним логином работает один человек 2 не всегда с одного компа работает один человек (несколько профилей) 2 Hummer Хоть кто то меня поддерживает, а то все спорят , я так и в депрессию могу впасть )) А никто не знает прогу -шпиончика для адо ? хочу посмотреть как в ADP отчет формирует рекордсет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 14:38 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
авторвобщем то да но и нет одновременно : 1 не всегда под одним логином работает один человек 2 не всегда с одного компа работает один человек (несколько профилей) 2 Hummer Хоть кто то меня поддерживает, а то все спорят , я так и в депрессию могу впасть )) Сначала о хорошем - я тоже во всем согласен (кроме реестра) Теперь о плохом...имхо 1 - если под одним логином работает несколько человек - это проблемы с политикой безопасности. 2 - даже если с одного компа работает весь офис - есть такая вещь как завершение сеанса и вход под своим логином. Т.е. при нормальной организации политики безопасности - логин юзера и есть тот уникальный код, который ты предлагаешь хранить в реестре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 14:55 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
Все умные - один я дурак :) 2АлексейК как насчет хранить настройки на сервере в одной таблице в которой каждому пользователю дать уникальный код а его брать из реестра?? SELECT * FROM настройки Where Код = <Код пользователя из реестра> Настройки хранятся на сервере - но только как эталонные, и в момент создания нового юзера, в момент первой попытки обращения к локальной таблице (которая пока пустая или не полная) копируются эталонные записи. На счет - дать код юзверю - дык я зае%%%сь кода раздовать - это надо дать код, размножить эталонные записи для этого кода юзверя - триггером на системную таблицу не повесишь (момент добавления нового юзверя) - прийдется извращаться через что-то. А меня моя прога в будущем разъедется по всем филалам СНГ (Челябинск, Киев, Казахстан) - а если учесть, что на некоторых предприятиях даже нормального инета нет и прогеров и любовь руководства к командировкам ... нет уж. Хотя и извратнуться можно элементароно - нет юзера - занчит размножаем записи и отдаем ему, НО настройки в некотрых местах используються ну очень даже активно - сотни запросов к серверу, сотни записей на сервер, когда 1 раз обновил и спокойно юзаешь, не тревожа сервер. А никто не знает прогу -шпиончика для адо ? хочу посмотреть как в ADP отчет формирует рекордсет Profiler 2Hummer ну нафига использовать мдб файла в адп проектах? Хорошо поговорить с людьми, знающими специфику твоей работы, лучше чем я сам :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 15:01 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
авторТ.е. при нормальной организации политики безопасности - логин юзера и есть тот уникальный код, который ты предлагаешь хранить в реестре. видимо так, или логин + идентификатор приложения чьи настройки а что касается политики безопасности то в небольших базах данных не всегда есть нужда задействовать роли - иногда достаточно одного логина для группы операторов выполняющих сходные функции, поэтому и высказал мнение про параметр в реестре ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 15:03 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
>а то что разное заменяем реплейсом а заменить там надо имя формы с точкой на "" ты просто не копал дальше. Там еще много сюрпризов (взять хотя-бы Like<=>ALike,%<=>*) для полноценной работы придется писать целый транслятор. >совсем немного кода. Уверен,что больше трех строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 15:05 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor боже упаси мне умалять чьи либо достоинства. совсем не собирался говорить обидные слова. что касается удобства то : самая близкая дорога - та которую лучше всего знаешь ... А профилер мне не подойдет я хочу смотреть опции устанавливаемые при вызове библиотеки ADO на локальном компьютере а не запросы , которые она шлет серверу (или я чего не понимаю?) например хочу поймать строку подключения рекордсета именно в момент открытия отчетом объекта рекордсет, посмотреть динамические свойства задаваемые перед открытием, например Auto Recalc DBPROP_ADC_AUTORECALC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 15:11 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
2АлексейК боже упаси мне умалять чьи либо достоинства. совсем не собирался говорить обидные слова. Где ты увидел АбыДные слова, я же смалик поставил :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 15:17 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
Latuk Latuk Там еще много сюрпризов (взять хотя-бы Like<=>ALike,%<=>*) для полноценной работы придется писать целый транслятор. вобщем то да, но только написать его нужно только один раз, даже где -то был готовый, но найти не могу. 2 Senin Viktor а я на всякий случай извенился, чтоб не обидеть хорошего человека. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 15:26 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor Senin ViktorХорошо поговорить с людьми, знающими специфику твоей работы, лучше чем я сам :) Да никто лучше и не знает:) Просто мы не используем:) Не знаю, по мне лучше инишник чем мдб (сугубо мой мнение). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 15:45 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
а я на всякий случай извенился, чтоб не обидеть хорошего человека. )) Чувствуется в тебе классный программист - даже в беседе проводишь обработку возможных ошибок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 15:48 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
2Hummer по мне лучше инишник чем мдб (сугубо мой мнение). Из-за молодости - с ini-файлами никогда не работал, а так же не хотелось бы выдумывать новую процедуру для заполнения TreeView ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 15:51 |
|
||
|
Как сохранить пользовательские сортировки?
|
|||
|---|---|---|---|
|
#18+
>но только написать его нужно только один раз, даже где -то был готовый Если есть хотелосьбы поиметь (самому писать влом и так все работает да и сам факт бесит - зачем было делать разный синтаксис у фильтров?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2004, 18:45 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32432758&tid=1676219]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
201ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 517ms |

| 0 / 0 |
