Глава 6. Работа с базами данных в OpenOffice.org

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

Предполагается, что читатель имеет некоторое представление о том, как устроены системы управления базами данных, сокращённо СУБД.

Обычно принято включать в офисный пакет собственную СУБД и средства работы с ней. Однако в этом нет большого смысла. СУБД — система сложная, требующая значительных ресурсов, ухода, систематического архивирования данных и специальных знаний для подобных манипуляций. Создатели OpenOffice.org пошли по другому пути — они включили в свой пакет механизм доступа к данным из любого приложения, будь это OpenWriter или OpenCalc, оставив хранение данных на долю других программ.

Давайте познакомимся с этим механизмом доступа к данным на практике. Запустите OpenWriter и создайте новый документ или откройте уже имеющийся. Нажмите функциональную клавишу F4 или выберите в главной панели инструментов Источники данных. В верхней части окна откроется панель доступа к данным. Пока в ней присутствует только один источник, озаглавленный Bibliography. Это тестовая база, входящая в комплект поставки OpenOffice.org.

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

Выйдите из OpenOffice.org и создайте на диске каталог, где Вы будете хранить данные, например Мои документы. Вернитесь к документу OpenWriter. Щёлкните правой кнопкой мыши в поле, где перечислены источники данных и выберите Управление источниками данных. Или выберите из меню Сервис->Источники данных.

Рисунок 6.1. Управление источниками данных

Управление источниками данных

Откроется окно Управление источниками данных. Нажмите кнопку Новый источник данных. Задайте новому источнику имя — пусть это будет Библиотека. Теперь посмотрим, с какими базами данных мы сможем работать. Список достаточно внушительный — это и старый добрый Dbase, доступ с помощью драйверов ODBC и JDBC, текстовые файлы документы электронной таблицы, а также ADO для доступа к базам данных, созданных в MS Access. В настоящее время у нас нет подключенных баз данных с помощью ODBC, поэтому выберем Dbase. Это старый и очень популярный формат, те, кто давно работают с компьютером, могут вспомнить множество программ,которые его используют, и наверняка имеют на своем диске данные в этом формате. Для нашей задачи он прекрасно подходит. Выбираем Тип базы данных — Dbase и указываем путь к каталогу, который мы создали для данных. Откройте закладку Dbase и выберите Кодировку.

Следует сразу сказать, что если вы планируете использовать создаваемые Dbase файлы не только при работе с OpenOffice.org но и в других программах, для сохранения совместимости с ними следует выбрать старую кодировку Кириллица DOS/OS2-866/Русский и именовать поля только латинскими символами в верхнем регистре не длиннее 8 символов на имя поля. Для нас сейчас это значения не имеет, поэтому для простоты выберем кодировку Из системы.

Теперь можно сохранить изменения и закрыть Управление источниками данных.

Откроем наш проект Библиотека и выберем Таблицы, Ярлыки и Запросы нам не нужны. Таблиц нет, папка пуста. И правильно, таблицу надо создать.

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

Длину полей желательно выбирать по принципу разумной достаточности — для автора с фамилией, именем и отчеством хватит наверное 80–90 символов, для названия лучше сделать 255 (это максимальное значение для текстового поля).

Тип полей зависит от их функции — для номера это DECIMAL, пусть оно будет целое, цифры после запятой нам не нужны, для остальных полей CHAR (символьное), для примечаний VARCHAR (символьное переменной длины). Создадим поля, как это показано на рисунке и сохраним таблицу, например под именем book. Закрываем Проект таблицы и видим её в нашем источнике данных. Структура таблицы появилась справа и в нее уже можно вводить данные. Введем несколько книг для тренировки. Для удобства ширину колонок можно отрегулировать так, как мы это делали в OpenCalc. После введения некоторого количества книг можно попробовать поиск и сортировку.

Рисунок 6.2. Создание таблицы с данными

Создание таблицы с данными

Однако представление наших данных не очень симпатичное. Для большего удобства работы надо создать форму — экранное представление наших данных. Откройте Файл->Мастер->Форма — включится Мастер форм. Выберите Источник данных и таблицу, после чего перенесите все поля из Имеющихся полей в Поля формы.

Рисунок 6.3. Мастер форм

Мастер форм

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

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

Теперь выделите поле для редактирования. Нажмите правую кнопку мыши и выберите Группировать для разгруппирования поля и текстовой метки. Выделите текстовую метку. Теперь выберите Элемент управления. Откроется окно управления — здесь можно изменить заголовок на русское название.

Те из вас, кто работал с Visual Basic for Application пакета Microsoft Office, найдет в этих меню много знакомых значений.

Рисунок 6.4. Работа по улучшению вида формы

Работа по улучшению вида формы

Теперь измените все текстовые метки — и форма окончательно готова. Изучите все управляющие элементы и попробуйте добавить новые к созданной форме.

Например, для полей предмет и состояние можно попробовать заменить простое поле на поле со списком, чтобы каждый раз не вводить одинаковые значения названий предметов и состояния книг. Таким образом можно создавать множество простых, но полезных приложений.

В заключение хотелось бы посоветовать, что делать в том случае, если Вам действительно понадобиться полноценный сервер баз данных. Среди свободных продуктов достаточное количество мощных СУБД, ни в чем не уступающие своим коммерческим аналогам. Это MySQL, ADABAS, Postgres, FireBird и другие весьма достойные продукты.