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

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

Сортировка





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




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


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


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


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

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

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