Сортування через контекстне меню, MS Office, Програмні керівництва, статті









Пошук за критеріями – лише половина завдання. Результати пошуку треба відсортувати! Можна повісити сортування на кнопку, але якщо полів багато, а місця мало?
 
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. Насолоджуємося результатом.

 

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*