- •Знакомство с visual basic
- •Практическая работа
- •Свойства, методы и события
- •Практическая работа
- •Переменные
- •Объявление переменных
- •Область видимости переменной
- •Ф орма 1
- •Форма 2
- •Математические операторы
- •Операторы сравнения
- •Логические операторы
- •Практическая работа
- •Обработка ошибок
- •Практическая работа
- •Самостоятельно
- •Условия и циклы
- •Самостоятельно
- •Использование списков и полей со списками
- •Удаление строк из списка
- •Ф орма Код (самостоятельно)
- •Массивы
- •Объявления массивов Объявление массива как одной переменной:
- •Заполнение массива
- •Динамический массив
- •Самостоятельно
- •Работа со строками
- •Определение длины строки
- •Усечение строк
- •Самостоятельно
- •Использование одной кнопки для включения / выключения
- •Конкатенация разнотипных строк
- •Коды символов в формате ascii
- •Окно ввода данных
- •Функция Val() и Slr()
- •Вывод информации на форму
- •Функция Format
- •Работа с графическим окном
- •Элемент управления RichTextBox
- •Объект Printer
- •Дополнительные возможности работы со строками Оператор Like и неопределенный поиск
- •Прочие строковые функции
- •Работа с файлами Чтение текстового файла (1 способ)
- •Запись текста в текстовый файл: Форма
- •Чтение текстового файла (2 способ)
- •Самостоятельно
- •Код (самостоятельно)
- •Простой файловый менеджер
- •'FileCopy не допускает файловые шаблоны, поэтому копирование по полному пути
- •Изменение регистра символов строки
- •Код (проанализировать программу, при необходимости – набрать и проверить работу)
- •Создание меню
- •Клавиши доступа и быстрые клавиши
- •Создание всплывающих меню
- •Разделение строк меню
- •Вырезание, копирование и вставка с помощью объекта Clipboard (буфера обмена)
- •Выделение текста в поле текста
- •Самостоятельно
- •Код (сначала попытайтесь самостоятельно написать код)
- •Использование элемента управления
- •Управляющие элементы Image List и Tool Bar
- •Создание дистрибутивного пакета – подготовка приложения к распространению
- •Время и таймеры
- •Использование одной кнопки для включения /выключения
- •Вычисление разницы между датами
- •Вычисление возраста
- •Код (проанализировать, при необходимости набрать проверить работу)
- •Самостоятельно
- •Код (сначала самостоятельно)
- •Подпрограммы и функции Использование процедур в Visual Basic
- •Самостоятельно
- •Определение точки входа в программу (запуск проекта с нужной формы)
- •Выбор подпрограммы Main() точкой входа проекта
- •' Оповещаем пользователя
- •Тестирование и отладка программ
- •Точка остановки программы
- •Наблюдение за несколькими переменными
- •Полосы прокрутки
- •Самостоятельно
- •Дополнительные компоненты active X
- •Создание дистрибутивного пакета – подготовка приложения к распространению
- •Время и таймеры
- •Использование одной кнопки для включения /выключения
- •Вычисление разницы между датами
- •Вычисление возраста
- •Код (проанализировать, при необходимости набрать проверить работу)
- •Самостоятельно
- •Форма Код (сначала самостоятельно)
- •Подпрограммы и функции Использование процедур в Visual Basic
- •Самостоятельно
- •Определение точки входа в программу (запуск проекта с нужной формы)
- •Выбор подпрограммы Main() точкой входа проекта
- •' Оповещаем пользователя
- •Понятие о базах данных
- •Терминология баз данных
- •Элемент управления данными
- •Свойства элемента управления данными
- •Методы элемента управления данными
- •Свойства набора данных
- •Методы набора записей
- •Практическая работа
- •Связывание элемента управления данными с базой данных
- •Что такое Recordset?
- •Поиск записей
- •Поиск дальше
- •Запросы
- •Компоненты языка sql
- •Самостоятельно
- •Создание отчетов с помощью crystal reports
- •Создание отчета
- •Объекты
- •Практика
- •Движение объектов
- •О связанных элементах управления Последовательность событий при загрузке формы
- •Отношения родитель/потомок между элементами управления данными
- •Практикум –
- •Создание базы данных своими руками
- •Какую технологию выбрать?
- •Элемент управления данными ado
- •Сортировка и объединение данных с помощью элемента управления Hierarchical FlexGrid
- •Проект «Школьный журнал» (пример создания и работы с базой данных)
- •Практическое задание Создать базу данных «Записная книжка»
- •Простейший графический редактор
- •При отпускании кнопки мыши
- •Dim n As Integer ‘счетчик новых записей в массиве
Сортировка и объединение данных с помощью элемента управления Hierarchical FlexGrid
Элемент Microsoft Hierarchical FlexGrid, сокращенно названный MS HFlexGrid, отображает данные в виде таблицы и позволяет манипулировать ими. Он хорошо подходит для сортировки, слияния и форматирования таблиц, содержащих как данные, так и картинки. Как было показано в предыдущей главе, сортировка и слияние производятся во время выполнения программы. К сожалению, будучи связан с элементом управления данными, MS HFlexGrid позволяет только отображать, но не изменять данные. Но даже при таком ограничении он остается отличным средством для того, чтобы удобно представить большой объем информации, чего и ожидают от профессиональных программ.
Практикум - использование связанного элемента Hierarchical FlexGrid
Начните новый проект. Убедитесь, что на панели инструментов присутствует ADO-элемент управления, и в дополнение к нему поместите туда же элемент Hierarchical FlexGrid (строка Microsoft Hierarchical FlexGrid Control 6.0 (OLEDB) в диалоговом окне Components).
Расположите на форме ADO-элемент управления данными и элемент MS HFlexGrid.
Установите свойство ConnectionString для элемента управления данными, как описывалось выше. Затем присвойте свойству CoimandType на странице свойств RecordSource значение 2 - adCmdTable, а свойству Table значение Titles. Установите также значение свойства Visible в False. Это сделает ADO-элемент управления данными невидимым во время выполнения программы. Навигация по набору записей будет осуществляться с помощью полос прокрутки. (Если вы забыли, как устанавливать все эти свойства, посмотрите предыдущие примеры.)
Установите свойство DataSource равным Adodcl. Щелкните правой кнопкой мыши по таблице и из появившегося контекстного меню выберите пункт Retrieve Structure (Структура представления отобранных записей). В табличном поле будет показана структура таблицы базы данных. Поскольку в строке соединения элемента Adodcl вы указали таблицу Titles, именно ее структура и отображается
Щелкните правой кнопкой мыши по элементу MS HFlexGrid и выберите из меню пункт Properties, чтобы открыть диалоговое окно Property Pages (Страницы свойств). На вкладке General задайте Fixed Cols равным 0. Это уберет самую левую пустую колонку из таблицы. Затем измените значение свойства AllowUserResizing на пункт 3 - Both (см. рис.), что позволит изменять ширину колонок во время работы программы
Далее откройте вкладку Bands. Вероятно, вы хотите сгруппировать некоторые поля, но если оставите колонку Title первой в таблице, никакого сведения не получится. Причина в том, что это поле уникально. Необходимо подобрать такое поле, которое позволит сгруппировать записи с одинаковыми значениями в нем. Выделите строку PubID в колонке Column Caption и с помощью кнопки со стрелкой вверх переместите эту строку в первую позицию. Таблица будет выглядеть более привлекательно, если изменить значение свойства Gridlines (Линии сетки) на пункт 2 – Inset. Щелкните по кнопке ОК.
Чтобы элемент управления действительно заработал, придется написать несколько строк кода для установки дополнительных свойств. В обработчик события Form_Activate добавьте приведенный ниже код:
Private Sub Form_Activate()
Dim iIndex As Integer
With MSHFlexGrid1
.Row = 0
For iIndex = 0 To .Cols - 1
.Col = iIndex
.CellAlignment = 4
.MergeCol(iIndex) = True
Next
.Col = 0
.ColSel = .Cols - 1
.Sort = flexSortGenericAscending
.MergeCells = flexMergeRestrictColumns
End With
End Sub
Приведенный выше код просто конфигурирует первую строку в цикле For. . .Next. Сначала устанавливается индекс строки 0, а затем в цикле перебираются все колонки таблицы. Для каждой из них свойство CellAlignment (Выравнивание) устанавливается в 4, что означает «выравнивание по правой границе», После выхода из цикла вы устанавливаете свойство Sort в flexSortGenericAscending,что значит «сортировка общего вида (по возрастанию)». Затем поручаете элементу управления сводить записи, имеющие одно и то же значение поля в первой колонке.
Запустите программу.
Как видите - это очень мощный элемент управления - для получения программы достаточно пары щелчков мышью и нескольких строк кода. MS HFlexGrid идеально подходит для тех случаев, когда вам нужно только отобразить несколько записей одновременно. Поработав с примером, вы, вероятно, сами оценили его возможности. Свойства, управляющие сортировкой и слиянием, позволяют получить весьма привлекательный интерфейс. Заметьте: сгруппированы все книги, опубликованные издательством, у которых совпадает PubID. Также видна группировка по году издания.
Связанный элемент управления MS HFlexGrid очень похож на стандартный элемент «таблица». Однако с помощью MS HFlexGrid допускается установить свойство DataSource, так что элемент управления данными будет автоматически наполнять «таблицу» информацией. К тому же, возможности, которые рассматриваемый элемент имеет для выполнения сортировки и объединения данных, делают его вполне профессиональным инструментом для отображения нескольких записей. Заголовки колонок автоматически устанавливаются в соответствии с именами полей в наборе записей. По сути элемент MS HFlexGrid представляет собой просто фиксированный набор колонок, каждая из которых имеет неопределенное число строк.
Что общего у всех элементов управления
Познакомившись с некоторыми из связанных элементов управления, вы, наверное, отметили общую для них характеристику: все они подчинены элементу управления данными. Элемент управления данными отвечает за соединение с информационной базой и доступ к источнику записей. Затем вы ассоциируете (связываете) элемент, который будет отображать сведения, с элементом управления данными. Этот сравнительно несложный процесс вкупе с богатым арсеналом элементов управления в Visual Basic 6.0 дает программисту большие возможности для обработки и представления данных.
Резюме
Как вы теперь знаете, есть два элемента управления данными: старый, хорошо зарекомендовавший себя DAO-элемент, встроенный в Visual Basic, и новый ADO-элемент, являющийся одной из ключевых концепций будущей стратегии доступа к данным из VB-программ. Вы поэкспериментировали и с тем, и с другим.