русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Технология выполнения


Дата добавления: 2015-06-12; просмотров: 521; Нарушение авторских прав


Первое диалоговое окно уже существует (пример 57), оно реализует заполнение базы данных. С помощью второго диалогового окна будет реализовываться сортировка записей таблицы.

Примечание. Пересохраните работу Пример57 как Пример59.

Второе диалоговое окно (UserForm2, рис. 113) позволяет осуществлять сортировку записей таблицы (рис. 114) по одному из двух критериев:

продолжительности тура;

фамилии.


Рис. 113.Форма 2 для примера 59

 

Также предоставляется выбор сортировки по возрастанию или по убыванию. Интересной особенностью этого диалогового окна является название второй кнопки. При появлении на экран кнопка носит название «Отмена», а после осуществления сортировки получает название «Закрыть».

Для облегчения написания кода сортировки следует воспользоваться макрорекордером. После включения записи выполните следующие шаги:

1) выделите записи базы данных;

2) выберите в меню <Данные> <Сортировка>;

3) при появлении диалогового окна выберите поле, по которому осуществляется сортировка, а также ее направление;

4) нажмите Enter;

5) выключите макрорекордер.

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

Range(«A2:H5»).Select

Selection.Sort Key1:=Range(«A2»), Order1:=xlAscending, Key2:=Range(«B2»), Order2:=xlAscending, Key3:=Range(«E2»), Order3:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Что придется корректировать:

1) область сортировки. Необходимость корректирования вполне ясна: количество записей может быть меньше либо больше, чем в данный момент. Для определения числа записей воспользуемся известным приемом (см. пример 57);



2) поле, по которому осуществляется сортировка. Необходимо предусмотреть выбор поля перед самой сортировкой (в элементе управления «Поле со списком» (ComboBox1));

3) направление сортировки. Также нужно предусмотреть выбор одного варианта из двух (переключатель OptionButton1 или OptionButton2).

Создайте форму UserForm2. Затем в окне ее кода создайте процедуру для кнопки ОК.

Private Sub CommandButton1_Click()

КоличествоСтрок =

Application.CountA(ActiveSheet.Columns(1))

'Количество записей в базе

Range(Cells(2, 1), Cells(КоличествоСтрок, 8)).Select

'выделение области сортировки

If ComboBox1.Value = «фамилии» Then

KeySort = «A2»

'ключ сортировки – поле с фамилией

Else

KeySort = «H2»

'ключ сортировки – поле со сроком поездки

End If

'Сортировка

If OptionButton1.Value Then

'по возрастанию

Selection.Sort Key1:=Range(KeySort), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Else

'по убыванию

Selection.Sort Key1:=Range(KeySort),

Order1:=xlDescending,Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

End If

Range(«A2»).Select

'установка активной ячейки с первой фамилией

CommandButton2.CaptioN= «Закрыть»

'изменение названия второй кнопки

End Sub

Вторая кнопка закрывает форму и возвращает свое исходное имя.

Private Sub CommandButton2_Click()

CommandButton2.CaptioN= «Отмена»

UserForm2.Hide

End Sub

Для инициализации формы UserForm2 откройте Модуль1 и вставьте процедуру инициализации формы.

Public Sub UserForm2_Initialize()

' обратите внимание, что процедура глобальная!

UserForm2.ComboBox1.List = Array(«фамилии», «продолжительности тура»)

UserForm2.ComboBox1.ListIndex = 0

UserForm2.Show

End Sub

Рис. 114.Вывод данных на лист excel



<== предыдущая лекция | следующая лекция ==>
Технология выполнения | Конструирование интерфейса. Презентация


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.633 сек.