
- •Методические указания к лабораторным работам по курсу «Базы данных»
- •Оглавление
- •Создание связей
- •Создание рекурсивных связей
- •Ввод данных в таблицы
- •Дефрагментизация таблиц
- •Создание запросов в «OpenOffice». Создание простых запросов
- •Вычисление значений выражений
- •Работа с null значениями
- •Исключение повторяющихся записей
- •Запрос данных из связанных таблиц
- •Контрольные задачи на простые запросы
- •Правое и левое соединение таблиц
- •Черная кошка в темной комнате
- •Если таблицы не соединять или «все комбинации»
- •Статистические функции
- •Запросы непосредственно на sql
- •Контрольные задачи на запросы на sql
- •Запросы на изменение данных
- •Запрос select … into
- •Запрос insert into
- •Запрос delete
- •Запрос update
- •Запрос drop table
- •Запрос create table
- •Запрос alter table
- •Запрос create view
- •Запрос drop view
- •Пакеты запросов на изменение
- •Пакеты запросов, формируемые select запросами
- •Хранимые процедуры и функции
- •Создание форм с выбором значений из списка Создание форм с помощью мастера.
- •Ввод данных с помощью формы.
- •Формы с расположением элементов типа столбцы или блоки.
- •Редактирование формы с помощью конструктора.
- •Создание выпадающего списка
- •Создание выпадающего списка в таблице
- •Создание независимых субформ
- •Доступ к элементам форм из программ на basic Библиотеки макросов
- •Вызов функции по нажатию кнопки
- •Настройка вызова редактора макросов по кнопке
- •Получение значений, введенных в поля формы
- •Изменение значений, в полях формы
- •Получение данных из текущей записи формы
- •Изменение данных текущей записи формы
- •Представление зависимых таблиц на одной форме
- •Представление независимых таблиц на одной форме
- •Обновление форм после изменения данных в базе.
- •Открытие формы по нажатию кнопки
- •Выполнение sql запросов из макросов Выполнение запросов на изменение данных
- •Универсальная форма для запросов на изменение данных
- •Выполнение параметрических запросов
- •Выполнение запросов на выборку данных
- •Загрузка данных в массив и вывод списка
- •Загрузка файла в базу данных и выгрузка файла из базы
- •Приложение 1 - Встроенные функции и процедуры Hsqldb Функции для работы с числами
- •Функции для работы со строками
- •Функции для работы с датой/временем
- •Функции информации о подключении к базе данных
- •Прочие функции
- •Литература
Редактирование формы с помощью конструктора.
Созданная нами форма имеет несколько недостатков:
-
Одни поля и колонки слишком широкие, а другие слишком узкие.
-
Неудачный порядок и расположение элементов, и последовательность колонок.
-
Неудачный цвет, шрифт, и форма представления данных.
-
Особенно неудобно вводить коды связанных записей, да и в шифре группы легко сделать ошибку.
Чтобы
изменить расположение, ширину элементов
формы, оформление и многое другое надо
закрыть форму и снова открыть ее с
помощью команды «Изменить» из контекстного
меню. Чтобы далее перейти в режим ввода
данных можно, не закрывая окно дизайнера
формы нажать кнопку «Режим разработки»
.
Повторное нажатие этой кнопки снова
переводит форму в режим разработки.
Чтобы передвинуть одно из полей формы щелкните по нему левой кнопкой мыши и не отпуская ее перетащите элемент на новое место. Обратите внимание, что надпись перетаскивается вместе с полем данных. Дело в том, что они объединены в группу. Чтобы разгруппировать элементы, выделите группу, и из контекстного меню выберите последовательно «Группировка», «Разгруппировать». Теперь можно изменять элементы по отдельности. В частности уменьшить ширину полей «№», «Группа» и увеличить поля «Предмет» и «Преподаватель». Впрочем, не спешите разгруппировывать все элементы.
Воспользуемся
полезнейшей кнопкой «Навигатор форм»
.
Выделите на навигаторе элемент «fmt№», и меняйте в окне конструктора формы ширину элемента для ввода номера ведомости не разбивая группу (кто попробовал дать команду «Разгруппировать» заметил, как медленно вызывается контекстное меню в конструкторе). Мало того, можно выделить (удерживая нажатой клавишу «Ctrl») несколько элементов и перетащить их все вместе на другое место.
Выберите из контекстного меню элемента «datДата» команду «Свойства». Перейдите на закладку «Общие» и используя полосу прокрутки найдите свойство «Раскрываемый». Задайте ему значение «Да» и закройте диалог «Свойства». Теперь вы сможете выбирать дату на календаре, а не только вводить с клавиатуры.
Можно расширить колонки в таблице, для этого, подведите указатель мыши к границе колонок (в шапке таблицы), и перетащите с помощью мыши ее вправо.
Настала пора организовать ввод преподавателя путем выбора значений из выпадающего списка. Но сначала, как описано выше, поля «группа», «предмет», «преподаватель», выделите в поля «fmtГруппа», «fmtПредмет», «fmtПреподаватель» и удалите их нажатием клавиши «Delete».
Создание выпадающего списка
Организуем ввод данных в поле «предмет» путем выбора наименования предмета из раскрывающегося списка.
Убедитесь, что на панели инструментов «Элементы управления» утоплена кнопка «Мастер» (нижняя кнопка на левой панели).
На панели инструментов «Элементы управления», расположенной слева от формы нажмите кнопку «Список» (обратите внимание, не «поле со списком», а именно «список»).
Теперь подведите курсор мыши к тому месту, где хотите создать выпадающий список, нажмите левую кнопку мыши, затем, не отпуская кнопку, растяните пунктирную рамку до нужных размеров. Отпустите кнопку мыши.
Высвечивается окно мастера списка.
Выберите таблицу, из которой будем выбирать данные («Предмет»). Нажмите «далее».
Выберите отображаемое поле «Наименование». Нажмите кнопку «далее».
В левом списке выберите поле «Предмет», а в правом «Код». Тем самым мы сообщаем, какие поля таблиц «Ведомость» и «Предмет» соответствуют друг другу.
Нажмите кнопку «Готово».
Убедимся, что все сделали правильно.
Нажмите кнопку «Режим разработки». Форма переходит в режим ввода данных и в полях появляются данные из первой записи (если она есть).
Нажмите кнопку в правой части поля «Предмет». Должен появится список наименований предметов из таблицы предмет. Если список пуст, прежде всего, убедитесь, что в таблице «Предмет» есть записи.
Выберите один из предметов. Нажмите на панели навигации кнопку «Сохранить запись».
Для возврата в режим конструктора форм, снова нажмите кнопку «Режим разработки».
Если хотите, оформление вашего списка было тем же, что назначает мастер при создании формы, выделите наш список, дайте из контекстного меню команду «Элемент управления» (или команду «свойства» из контекстного меню навигатора форм). На закладке «Общие» нажмите кнопку «…». Напротив слов «Цвет фона» и введите в поля «Красный», «зеленый» и «синий» число 221. Свойство «Обрамление» задайте «Трехмерный вид». Для удобства обращения к этому полю из вашей программы (в дальнейшем) желательно задать «имя», например, «ListПредмет».
Создайте по аналогии поля для ввода группы и преподавателя.
Имеется альтернативный способ создания выпадающего списка путем смены типа простого поля (команда «Заменить на …» из контекстного меню навигатора формы). Но во первых, он сложнее (придется вручную заполнять поля на закладке «Данные»). А во вторых, «OpenOffice.org Base» версия «3.0» стал иногда аварийно завершаться при выполнении операции смены типа.