Russian version
English version
ОБ АЛЬЯНСЕ | НАШИ УСЛУГИ | КАТАЛОГ РЕШЕНИЙ | ИНФОРМАЦИОННЫЙ ЦЕНТР | СТАНЬТЕ СПОНСОРАМИ SILICON TAIGA | ISDEF | КНИГИ И CD | ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ | УПРАВЛЕНИЕ КАЧЕСТВОМ | РОССИЙСКИЕ ТЕХНОЛОГИИ | НАНОТЕХНОЛОГИИ | ЮРИДИЧЕСКАЯ ПОДДЕРЖКА | АНАЛИТИКА | КАРТА САЙТА | КОНТАКТЫ
 
Программное обеспечение
 
Для зарегистрированных пользователей
 
РАССЫЛКИ НОВОСТЕЙ
IT-Новости
Новости компаний
Российские технологии
Новости ВПК
Нанотехнологии
 
Поиск по статьям
 
RSS-лента
Подписаться
Средства разработки

Сортировка через контекстное меню

Администратор

Поиск по критериям - лишь половина задачи. Результаты поиска надо отсортировать! Можно повесить сортировку на кнопку, но если полей много, а места мало?1. Не знаю как вы, а я выдаю результаты поиска, подменяя источник записей ListBox. Данный элемент мне нравится гораздо больше подчиненной формы. Почему? Считайте это прихотью программиста.))

2. Добавим в модуль (не формы, а просто модуль).

Public sqlOldList As String

Public Function SortBy(fld As String, Lst As ListBox)
Dim sql As String

sqlOldList = Trim(sqlOldList)

If Right(sqlOldList, 1) = ";" Then
sql = Left(sqlOldList, Len(sqlOldList) - 1) & " ORDER BY " & fld
Else
sql = sqlOldList & " ORDER BY " & fld
End If
Lst.RowSource = sql
'MsgBox sql
End Function

Переменная нам нужна для хранения источника данных.

3. На кнопке "Найти" у нас поиск. В конце, как передали в элемент измененный источник, в sqlOldList передаем его же, но без сортировки!!!

4. На загрузку формы вешаем передачу текущего источника в sqlOldList.

ГЛАВНОЕ, чтобы в исходном источнике (на момент загрузки) не было сортировки вообще! Т.е. в первый момент в списке видны неотсортированные данные.

5. Добавляем контекстное меню, которое впоследствии повесим на список. В элементах этого меню в качестве функции пишем что-то вроде: =SortBy("Table.[Field] DESC", Forms!MyForm!MyListBox)

6. Наслаждаемся результатом.

Поиск по критериям - лишь половина задачи. Результаты поиска надо отсортировать! Можно повесить сортировку на кнопку, но если полей много, а места мало?1. Не знаю как вы, а я выдаю результаты поиска, подменяя источник записей ListBox. Данный элемент мне нравится гораздо больше подчиненной формы. Почему? Считайте это прихотью программиста.))

2. Добавим в модуль (не формы, а просто модуль).

Public sqlOldList As String

Public Function SortBy(fld As String, Lst As ListBox)
Dim sql As String

sqlOldList = Trim(sqlOldList)

If Right(sqlOldList, 1) = ";" Then
sql = Left(sqlOldList, Len(sqlOldList) - 1) & " ORDER BY " & fld
Else
sql = sqlOldList & " ORDER BY " & fld
End If
Lst.RowSource = sql
'MsgBox sql
End Function

Переменная нам нужна для хранения источника данных.

3. На кнопке "Найти" у нас поиск. В конце, как передали в элемент измененный источник, в sqlOldList передаем его же, но без сортировки!!!

4. На загрузку формы вешаем передачу текущего источника в sqlOldList.

ГЛАВНОЕ, чтобы в исходном источнике (на момент загрузки) не было сортировки вообще! Т.е. в первый момент в списке видны неотсортированные данные.

5. Добавляем контекстное меню, которое впоследствии повесим на список. В элементах этого меню в качестве функции пишем что-то вроде: =SortBy("Table.[Field] DESC", Forms!MyForm!MyListBox)

6. Наслаждаемся результатом.


  Рекомендовать страницу   Обсудить материал Написать редактору  
  Распечатать страницу
 
  Дата публикации: 22.08.2006  

ОБ АЛЬЯНСЕ | НАШИ УСЛУГИ | КАТАЛОГ РЕШЕНИЙ | ИНФОРМАЦИОННЫЙ ЦЕНТР | СТАНЬТЕ СПОНСОРАМИ SILICON TAIGA | ISDEF | КНИГИ И CD | ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ | УПРАВЛЕНИЕ КАЧЕСТВОМ | РОССИЙСКИЕ ТЕХНОЛОГИИ | НАНОТЕХНОЛОГИИ | ЮРИДИЧЕСКАЯ ПОДДЕРЖКА | АНАЛИТИКА | КАРТА САЙТА | КОНТАКТЫ

Дизайн и поддержка: Silicon Taiga   Обратиться по техническим вопросам  
Rambler's Top100 Rambler's Top100