Студопедия — Сортировка
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Сортировка






Сортировка является типовой операцией с базами данных и возможность ее реализации практически обязательно должна быть предусмотрена. Для ее реализации можно предложить следующий интерфейс – см. рис.5.4.

 

 

Рис. 5.4. Интерфейс реализации операции Сортировка

 

С помощью предлагаемого интерфейса сортировка выполняется следующим образом:

– из списка выбирается поле сортировки и «Ok».

 

Создание со списка полей

– на текущем листе (где–то в стороне, так, чтобы этого потом не было видно на экране) печатается список полей:

 

  P Q R
       
       
    Дата продажи  
    Код товара  
    Наименование  
    Количество  
    Цена  
    Сумма  
       
       
       

 

– вызываем панель форм (Вид > Панели > Инструментов >Формы), на ней выбираем элемент «Поле со списком» и рисуем его в районе ячейки E4 (как на предыдущем рисунке);

– ставим мышь на нарисованный элемент, щелчком ПКМ вызываем контекстное меню и выбираем пункт «Формат объекта», при этом откроется окно формата создаваемого списка (рис. 5.5):

 

Рис. 5.5. Окно Формат элемента управления

 

– в поле «Формировать список по диапазону» указать местоположение списка полей;

– в поле «Связь с ячейкой» указать ячейку, в которую будет записываться номер выбранного поля.

– щелкнуть «Ok».

Произведите несколько выборок в получившемся списке и посмотрите, что происходит в ячейке Q11.

 

Создание макроса для сортировки

Выполните команды: Сервис > Макрос > Начать запись > На запрос об имени макроса напечатайте «Сортировка» > «Ok» > Установите курсор в C11 > Данные > Сортировка > В качестве поля сортировки выберите «Наименование» > «Ok» > Сервис > Макрос > Остановить запись.

Создание кнопки для запуска макроса

– с панели «Формы» взять элемент «Кнопка» и нарисовать ее районе ячейки E7 (как на рисунке):

– на запрос о назначении макроса указать макрос «Сортировка»;

– исправить надпись на кнопке.

Если сейчас щелкнуть по созданной кнопке, то данные должны будут отсортироваться по полю «Наименование».

 

Модификация макроса

Точно так же можно сделать кнопки для сортировки по остальным полям. Но все это как–то «не смотрится». Тем более, что работа кнопки никак не зависит от выбранного в списке поля сортировки.

Посмотрим, что записано в созданном макросе.

Выполним команды Сервис > Макрос > Макросы > Выбрать макрос «Сортировка» > Изменить.

Появится текст макроса.

 

Sub Сортировка()

Range("C11").Select

Range("Данные_продаж").Sort Key1:=Range("E12"), Order1:=xlAscending, Header:= _

xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _

DataOption1:=xlSortNormal

End Sub

 

Номинальное знание английского языка позволяет понять записанные команды и по возможности изменить их.

Первая команда соответствует переходу на ячейку «С11» (когда мы щелкнули по ней).

Вторая команда очень длинная, занимает три строчки и выполняет метод сортировки для диапазона «Данные_продаж».

Основная часть команды – Range("Данные_продаж").Sort выполняет сортировку выделенной части. Остальные компоненты – это параметры сортировки, которые можно частично или все удалить.

Нас интересует параметр Key1, который определяет поле сортировки. Его значение, равное E12, соответствует столбцу E, в котором находится поле «Наименование». Если сейчас вместо E11 напечатать G11 и в Excel щелкнуть по кнопке «Сортировка», то сортировка произойдет по полю «Цена».

Для того, чтобы связать выбранный элемент списка с режимом сортировки придется проявить немного квалификации.

В Excel для обращения к ячейкам существует два способа.

Первый – с помощью объекта Range (как в приведенном макросе).

Второй – с помощью объекта Cells следующего формата:

Cells(Номер строки, Номер столбца).

Способы эквиваленты и используются по ситуации. Например, вместо Range(«C11») вполне можно записать Cells(11, 3).

Поэтому макрос можно переписать следующим образом:

 

Sub Сортировка()

Dim k As Integer ‘Объявляем переменную целого типа

Range("C11").Select ‘

k=Range(“Q11”) ‘Определяем номер выбранного пункта

Range("Данные_продаж").Sort Key1:=Cells(12,k+2), Header:=xlGuess

End Sub

 

Здесь из параметров сортировки оставлен лишь два параметра – ключ сортировки и наличие заголовка.

Перепечатайте (перекопируйте) указанный текст макроса и убедитесь, что он нормально работает.







Дата добавления: 2015-08-12; просмотров: 483. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

Этапы творческого процесса в изобразительной деятельности По мнению многих авторов, возникновение творческого начала в детской художественной практике носит такой же поэтапный характер, как и процесс творчества у мастеров искусства...

Тема 5. Анализ количественного и качественного состава персонала Персонал является одним из важнейших факторов в организации. Его состояние и эффективное использование прямо влияет на конечные результаты хозяйственной деятельности организации.

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия