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

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

Сортировка






Сортировка является типовой операцией с базами данных и возможность ее реализации практически обязательно должна быть предусмотрена. Для ее реализации можно предложить следующий интерфейс – см. рис.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; просмотров: 487. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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

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

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