Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ловить изменение порядка сортировки в форме / 22 сообщений из 22, страница 1 из 1
15.03.2004, 13:30
    #32441816
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
на какое событие ?
...
Рейтинг: 0 / 0
15.03.2004, 13:41
    #32441843
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
Вариант номер раз - ловить нажатие стандартных кнопок в тулбарах/менюшках (если аксес 2000 и выше0
Вариант номер два - ловить события ADODB.Recordset (если форма на адошном рекордсете)
...
Рейтинг: 0 / 0
15.03.2004, 14:13
    #32441916
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
ловить события рекордсета проблемно так как в моем случае форма подчиненная и если назначать рекордсет то теряется связь с главной

а вот то как ловить события стадартных меню - это очень интересно

есть примерчик?
...
Рейтинг: 0 / 0
15.03.2004, 14:20
    #32441927
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
ловить события рекордсета проблемно так как в моем случае форма подчиненная и если назначать рекордсет то теряется связь с главной \r
Если у тебя adp - то не надо ничего назначать, просто используешь уже готовый рекордсет. Если mdb - тады ой.\r
\r
а вот то как ловить события стадартных меню - это очень интересно \r
есть примерчик?\r
Переключение режимов (таблица/форма)\r
Печать отчета (превью/принтер)\r
Тебе аналогичным образом надо ловить кнопки сортировки
...
Рейтинг: 0 / 0
15.03.2004, 14:33
    #32441947
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
за примерчик с меню, спасибо, хорошая штучка, буду изучать

авторто не надо ничего назначать, просто используешь уже готовый рекордсет
а как насчет объявления существующего ME.recordset с withevents ???
ADP

когда новый назначаешь понятно:
Код: plaintext
1.
2.
3.
4.
5.
Public WithEvents RS As ADODB.Recordset


Set RS = New ADODB.Recordset
RS.Open  "SELECT ... " , CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Set Me.Recordset = RS
...
Рейтинг: 0 / 0
15.03.2004, 14:55
    #32441984
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
а как насчет объявления существующего ME.recordset с withevents ???
А что, такое вот не прокатывает?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private WithEvents mrst As ADODB.Recordset

Private Sub Form_Load()
    Set mrst = Me.Recordset
End Sub

Private Sub mrst_WillMove(трампампам)

End Sub

??
...
Рейтинг: 0 / 0
15.03.2004, 14:59
    #32441992
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
прокатывает
...
Рейтинг: 0 / 0
15.03.2004, 15:10
    #32442016
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
Прикольно... никогда не приходила в голову мысль использовать WithEvents я объектом Recordset..... наверное потому что я не знал что у него еще есть события :(
...
Рейтинг: 0 / 0
15.03.2004, 15:13
    #32442022
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
Мдам, действительно есть события.... дети воспитанные на DAO и знающие о событиях :) :(
...
Рейтинг: 0 / 0
15.03.2004, 15:35
    #32442079
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
при таком объявлении:

если форма запущена просто как форма то работает а если как подчиненная
то события
RS_WillChangeRecordset - вообще не случается
RS_WillMove - то случается то нет

adp, access 2002 , access 2003

может я чего не так понимаю / делаю
...
Рейтинг: 0 / 0
15.03.2004, 16:09
    #32442159
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
эээ блин, подстава...
У меня в 2002-ом аксесе события от рекордсета ловятся только до первой сортировки, а после нее - шишь.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private WithEvents mrst As Recordset

Private Sub Form_Load()
    Set mrst = Me.Recordset
End Sub

Private Sub Form_Current()
    Debug.Print mrst Is Me.Recordset
End Sub

и сразу же после сортировки имею False
Какое свинство...

Правда я позорно непропатчен, может это как-то влияет...
...
Рейтинг: 0 / 0
15.03.2004, 16:11
    #32442166
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
Прикол, это чтож, после каждой сортировки заново устанавливать ссылку на Recordset ?!
...
Рейтинг: 0 / 0
15.03.2004, 16:33
    #32442209
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
SergeySVПрикол, это чтож, после каждой сортировки заново устанавливать ссылку на Recordset ?!
Особенно хорошо этот вопрос звучит в контексте обсуждения "Как отловить сортировку?"
...
Рейтинг: 0 / 0
15.03.2004, 16:46
    #32442242
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
Не знаю, м.б. я один такой чудной: но я сейчас всегда убираю акесные меню/тулбары/хоткеи, и ставлю свой аналог, если мне надо что-то такое особенное отследить - т.е проще говоря - есть своя кнопка при нажатии на которую делаю что хочу - может лучше тебе, АлексейК, пойти этим путем? Проще напорядок (вроде). К тому же (по моему опыту) сортировки по одному полю (имею ввиду вид в режиме Форма) юзерам иногда бывает не достаточна и рано или поздно попросят и по 2,3 ...N полям одновременно - а тут стандратной кнопкой сортировка не обойдешься.

ИМХО все и, вообще, сложно судить про проблемы опытных прогеров на расстоянии...
...
Рейтинг: 0 / 0
15.03.2004, 16:50
    #32442250
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
К тому же (по моему опыту) сортировки по одному полю (имею ввиду вид в режиме Форма) юзерам иногда бывает не достаточна и рано или поздно попросят и по 2,3 ...N полям одновременно
Ну дык перевести в режим даташыта, отсортировать, и перевести обратно. Все операции - стандартными кнопками.
...
Рейтинг: 0 / 0
15.03.2004, 16:54
    #32442258
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
Ну дык перевести в режим даташыта, отсортировать, и перевести обратно. Все операции - стандартными кнопками.

и не забыть убрать расчетные и прочие "лишние" поля (если есть), перевести фокус на нужную форму (если, например есть главная и подчиненые, а нужно сортировать одну из подчиненых) и все это оформить в справке и дать выучить наизусть юзерам - да ты, ЛП, садист я еще это заметил, когда ты руки предлагал операторам отрезать
...
Рейтинг: 0 / 0
15.03.2004, 17:04
    #32442279
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
в принципе была задумка сделать свои кнопки сортировка и фильтры,

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


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

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

надеюсь понятно объяснил задуманное
...
Рейтинг: 0 / 0
15.03.2004, 17:17
    #32442317
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
тем более что в ADP лучше использовать серверный фильтр и сортировку рекордсоурса \r
\r
а мне лично такой вариант больше нравится
...
Рейтинг: 0 / 0
15.03.2004, 17:53
    #32442401
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
автортем более что в ADP лучше использовать серверный фильтр и сортировку рекордсоурса

а мне лично такой вариант больше нравится

что - то не понял суть этого топика...

там в хранимку передается порядок сортировки вроде ...

все равно сначала надо на клиенте получить команду сортировки сформировать программно параметры и передать в хранимку или я не понял сути ?
форма сама может эти параметры передавать?
...
Рейтинг: 0 / 0
15.03.2004, 18:00
    #32442416
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
Я имел ввиду, что (как мне кажется) лучше пользоваться ХП с параметрами, которые вернут нужные данные, чем сервеными фильтрами (еще надо псомотреть, что Акес серверу шлет и запрашивает - НО это ИМХО).
Пример как можно юзать сортировку, передаваемой параметром я и привел в ссылке на пост Глори.

все равно сначала надо на клиенте получить команду сортировки сформировать программно параметры и передать в хранимку или я не понял сути ?

Ну да. А если еще и добавлять к ранее сохраненой сортировке...

форма сама может эти параметры передавать?

может, только не совсем "сама". Надо дать имена контролам такие же как и параметры в ХП, но без @ и в очередное обнолвнеи соурса акес сам запросит, то что нужно - ты про это спросил?
...
Рейтинг: 0 / 0
15.03.2004, 18:13
    #32442444
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
авторЯ имел ввиду, что (как мне кажется) лучше пользоваться ХП с параметрами, которые вернут нужные данные, чем сервеными фильтрами (еще надо псомотреть, что Акес серверу шлет и запрашивает - НО это ИМХО).
Пример как можно юзать сортировку, передаваемой параметром я и привел в ссылке на пост Глори.

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

авторможет, только не совсем "сама". Надо дать имена контролам такие же как и параметры в ХП, но без @ и в очередное обнолвнеи соурса акес сам запросит, то что нужно - ты про это спросил?

это я знаю, думал может у формы еще какие хитрости есть
...
Рейтинг: 0 / 0
17.03.2004, 10:55
    #32444940
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловить изменение порядка сортировки в форме
созрел я сделать меню для сортировки- фильтрации в форме ADP

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

сделал процедурку которая вывела мне идентификаторы контролов меню аксесса вот что получиллось:

210 --- Сортировка по во&зрастанию
211 --- Сортировка по у&быванию
497 --- При&менить фильтр
499 --- &Расширенный фильтр...
601 --- При&менить фильтр
605 --- &Удалить фильтр
640 --- &Фильтр по выделенному
2863 --- Фи&льтр для:
3938 --- &Применить серверный фильтр
3971 --- &Серверный фильтр по форме
4016 --- Сор&тировать по возрастанию
4017 --- &Сортировать по убыванию
5884 --- Ав&тофильтр
6417 --- &Сортировать по возрастанию
6418 --- Сортировка по у&быванию
6419 --- &Фильтр по выделенному
6420 --- Фильтр &вкл/выкл
7044 --- &Фильтр по выделенному
7058 --- Удалить &фильтр

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

если делать перехват нажатия то перехватываются из верхней части списка

может это и есть то что нужно?
кто -нибудь знает?

зы если кому интересно могу огласить полный список
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ловить изменение порядка сортировки в форме / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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