Сортировка через контекстное меню
Администратор
Поиск по критериям - лишь половина задачи. Результаты поиска надо отсортировать! Можно повесить сортировку на кнопку, но если полей много, а места мало? |
1. Не знаю как вы, а я выдаю результаты поиска, подменяя источник записей ListBox. Данный элемент мне нравится гораздо больше подчиненной формы. Почему? Считайте это прихотью программиста.))
2. Добавим в модуль (не формы, а просто модуль). Public sqlOldList As String Public Function SortBy(fld As String, Lst As ListBox) sqlOldList = Trim(sqlOldList) If Right(sqlOldList, 1) = ";" Then Переменная нам нужна для хранения источника данных. 3. На кнопке "Найти" у нас поиск. В конце, как передали в элемент измененный источник, в sqlOldList передаем его же, но без сортировки!!! 4. На загрузку формы вешаем передачу текущего источника в sqlOldList. ГЛАВНОЕ, чтобы в исходном источнике (на момент загрузки) не было сортировки вообще! Т.е. в первый момент в списке видны неотсортированные данные. 5. Добавляем контекстное меню, которое впоследствии повесим на список. В элементах этого меню в качестве функции пишем что-то вроде: =SortBy("Table.[Field] DESC", Forms!MyForm!MyListBox) 6. Наслаждаемся результатом.
|