powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сортировка после отмены фильтра
20 сообщений из 20, страница 1 из 1
Сортировка после отмены фильтра
    #39720684
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
У меня есть форма, для которой я хочу программно задать сортировку после отмены фильтра:

Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
If ApplyType = acShowAllRecords Then
Me.OrderBy = "... тут как сортировать"
Me.OrderByOn = True
End If
End Sub

То есть я нажимаю на панели инструментов кнопку "Удалить фильтр", и дальше надо, чтобы пересортировал.

Но это не работает почему-то. А если эти же строки

Me.OrderBy = "... тут как сортировать"
Me.OrderByOn = True

присвоить кнопке в форме, то по нажатию кнопки сортировка работает. Но мне не надо по нажатию кнопке в форме, а надо по нажатию кнопки "Удалить фильтр" на панели инструментов.

Где я ошиблась, подскажите, пожалуйста.
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720697
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставьте точку прерывания на первую строку программы, примените фильтр( нажав на кнопку) , запишите значения переменных Cancel и ApplyType
Потом также снимите фильтр кнопкой, и опять запишите значения.
Думаю что отличия будут в переменной Cancel
Потом в программу добавляете условия и по значению переменной выполняете разные нужные вам действия
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720698
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может и в apply type отличия будут)
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720705
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311, Вы правы, отличия есть, но все равно я не пойму, при чем это тут.
Когда я применяю фильтр, Cancel = 0, ApplyType = 1
Когда я удаляю фильтр, Cancel = 0, ApplyType = 0

Я написала теперь
If ApplyType = 0 Then
Me.OrderBy = "... тут как сортировать"
Me.OrderByOn = True
End If

и все равно не работает.
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720754
OkeTurel, кажись это событие происходит ДО фактического применения/отмены фильтра.
Ближайшее событие после обновления набора записей - Form_Current.
Как вариант - на ApplyFilter записать True в переменную, а на Current проверить ее, сбросить и отсортировать.
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720782
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий, спасибо, так работает.
Или еще я придумала - можно повесить сортировку на Form_Load, а на Form_ApplyFilter повесить выгрузку и новую загрузку формы.
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720792
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel,
если правильно понял-гляньте это:
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720816
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, это сортировка по нажатию кнопки в форме. А мне надо сортировку по нажатию кнопки на панели инструментов.
Когда я открываю форму, все отсортировано по 2-м полям. Но если отфильтровать - сделать "фильтр по выделенному" или "исключить выделенное", а потом вернуть все записи обратно (удалить фильтр), то он сортирует, но только если есть специальная кнопка. А у меня кнопки не должно быть, так как форма табличная. И я хотела событие отмены фильтра перехватывать и в Form_ApplyFilter заложить сортировку. Но событие не подходит.
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720839
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel,
а у Вас задан порядок сортировки в свойствах формы?
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720860
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, да, задан. А Вы почему интересуетесь?
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720906
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel,
да потому что при тестировании моих данных все работает как Вы хотите-не могли бы Вы выложить проблемную часть базы (может что с Аксом)
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720927
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, пожалуйста

Там форма accounts_frm
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39720999
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel,
так в чем проблема:
выбираю Павлова-фильр по выделенному
отображено 3 записи
тип счета:"совместительство..."
отображено 2 записи
выключаю фильтр-отображено все с сортировкой как при загрузке
что не так?
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39721007
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, а у меня сортирует по ID - клянусь!
Вот скрин после отмены фильтра:
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39721072
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel,
мамой клянусь-ничего не делал
Выводы-сами делайте
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39721080
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку:не делайте что-либо с Аксом, сначала расскажите максимально подробно как Вы применяете фильтр
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39721225
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, попробую тогда покопаться в настройках Акса. Может, галку какую убрала. Спасибо, что потратили время на мою задачу. :^)
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39721226
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу ты, не делать ничего с Аксом. А я думала - наоборот "делать".
Как я применяю фильтр?
Есть панель, созданная мною. На нее вынесены кнопки "Фильтр по выделенному", "Исключить выделенное" и "Удалить фильтр". Все кнопки взяты из Акса (не самодельные), то есть внесены на мою панель через Вид - Панели инструментов - Настройка.
Фильтры применяю в формах, как в обычных, так и в табличных. Жму на кнопки. :)
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39721270
У меня тоже сортировка остается правильной.
Вы применяете слишком хитрую сортировку:
Lookup_ person__id.person_identification, accounts_tbl.date_start
Вот это Lookup_, это обращение к столбцу в источнике поля со списком. Это работает только в формах (может еще в отчетах) и очень нежное, что ли.
Видимо у вас на компе какая-то фигня с кодовыми страницами, вот сортировка и сбивается.

Попробуйте в источнике формы вместо таблицы указывать такой запрос:
Код: sql
1.
2.
3.
SELECT accounts_tbl.*
FROM accounts_tbl LEFT JOIN ref_persons_tbl ON accounts_tbl.person_id = ref_persons_tbl.person_id
ORDER BY ref_persons_tbl.person_identification, accounts_tbl.date_start;


Это надежно. Код не нужен. Сортировка в форме тоже.
...
Рейтинг: 0 / 0
Сортировка после отмены фильтра
    #39721284
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий, спасибо большое, вставила в источник формы, теперь сортировка работает правильно. :)

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


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