Опубликован: 16.05.2007 | Доступ: свободный | Студентов: 5073 / 1640 | Оценка: 3.97 / 3.67 | Длительность: 16:50:00
Специальности: Менеджер
Лекция 10:

Работаем с Base

Создание запросов

Запросы используются для получения из базы данных специфической информации. В нашем примере базы данных, простой запрос может использоваться для создания списка всех годовщин свадьбы для заданного месяца. Мы можем это сделать с помощью мастера. Более сложный запрос может создать список всех дней рождения для заданного месяца. Мы сделаем это с помощью Design View. Мы создадим запрос для поиска в таблице Адреса знакомых всех годовщин свадьбы в июле и адресов каждой пары. Этот запрос будет включать следующую информацию: FirstName, LastName, SpouseName, Address, City, StateOrProvince, PostalCode, CountryOrRegion и дату свадьбы (месяц, день и год). Так мы сможем найти кто празднует годовщину свадьбы в июле, в какой день и адреса пар для отправки им поздравления.

Примечание Запросы сглаживают разницу между базой данных и источником данных. База данных – это только один из типов источника данных. Однако поиск нужной информации в источнике данных требует использования запроса. Поскольку запрос, как часть базы данных, выполняет это, то источник данных становится частью этой базы данных: ее таблицей или таблицами. Результаты запроса являются специальными таблицами базы данных.
Использование мастера для создания запроса

Убедитесь, что вы находитесь в окне Information – OpenOffice.org Base. Щелкните по иконке Запросы, чтобы выделить ее. В разделе Задачи этого окна дважды щелкните по значку Использовать мастер для создания запроса.... При этом откроется окно Мастер запросов ( рис. 10.23).

Примечание При работе с запросом можно использовать несколько таблиц. Поскольку разные таблицы могут использовать одни и те же имена полей, формат для названия поля в запросе использует имя Таблицы и имя поля. Между именем таблицы и именем поля вводится точка (.). В нашем примере, имя таблицы состоит из двух слов, поэтому точка ставится после второго слова имени таблицы и перед именем поля. (Например, поле FirstName таблицы Адреса знакомых именуется Адреса знакомых.FirstName. Поле FirstName таблицы Информация о знакомых именуется Информация о знакомых.FirstName.)
Шаг 1: Выбор полей
  1. 1) Поскольку большая часть нужной нам информации содержится в таблице Адреса знакомых, убедитесь, что эта таблица выбрана в списке Таблицы. Все поля таблицы Адреса знакомых перечислены в окне Доступные поля.
    Первая страница мастера запросов

    увеличить изображение
    Рис. 10.23. Первая страница мастера запросов
    Используя кнопку (>), переместите следующие Доступные поля в окно Поля в запросе:
    • Адреса знакомых.FirstName,
    • Адреса знакомых.LastName,
    • Адреса знакомых.SpouseName,
    • Адреса знакомых.Address,
    • Адреса знакомых.City,
    • Адреса знакомых.StateOrProvince,
    • Адреса знакомых.PostalCode,
    • Адреса знакомых.CountryOrRegion.
  2. 1) Выберите в списке Таблицы вместо таблицы Адреса знакомых таблицу Информация о знакомых. Используя кнопку (>), переместите следующие Доступные поля в окно Поля в запросе:
    • Информация о знакомых.WedDateM,
    • Информация о знакомых.WedDateD,
    • Информация о знакомых.WedDateY.
    Эти три поля будут расположены ниже поля Адреса знакомых.CountryOrRegion.
  3. Нажмите кнопку Дальше.
Шаг 2: Порядок сортировки

Для сортировки информации в нашем запросе можно использовать до четырех полей. В этом нам поможет простая логика. Какое поле является наиболее важным? Я предлагаю первым выбрать дату (WedDateD). Поле LastName можно сделать вторым. Поле FirstName или SpouseName может стать третьим в порядке сортировки. Вы возможно захотите определить порядок сортировки по-другому.

  1. В выпадающем списке Сортировка выберите Информация о знакомых.WedDateD.
  2. В первом выпадающем списке Затем по выберите Адреса знакомых.LastName.
  3. Во втором выпадающем списке Затем по выберите Адреса знакомых.FirstName.
  4. Нажмите кнопку Дальше.
Шаг 3: Условие поиска

Так как мы осуществляем поиск информации в одном поле, можно оставить выбор по умолчанию Соответствие всем из следующих.

Примечание Выбор Соответствие любому из следующих можно использовать в запросе для поиска всех дней рождения в апреле например. Это будет сделано в следующем разделе: Создание запроса в режиме дизайна.

Из верхнего списка Поля выберите Информация о знакомых.WedDateM. Выберите из списка Условие значение равно. В качестве значения введите 7. (Июль является седьмым месяцем календарного года.) Нажмите кнопку Дальше в нижней части окна.

Шаг 4: Полное или общее

Мы хотим получить простую информацию, поэтому оставим выбор типа запроса по умолчанию: Детальный запрос. Нажмите кнопку Дальше в нижней части окна.

Примечание Поскольку мы создаем простой запрос, то шаги Группировка и Условия группировки мы можем не использовать. Эти два шага в нашем запросе мы пропустим.
Шаг 5: Альтернативные названия

Оставим установки по умолчанию. Нажмите кнопку Дальше в нижней части окна.

Шаг 6: Обзор

Присвойте запросу имя (предложение: Запрос_Свадьбы ). Справа от этого поля имеется возможность сделать выбор действия после создания запроса. Выберите Изменить запрос. Нажмите кнопку Готово.

Шаг 7: Изменение запроса

Открывается окно Запрос_Свадьбы. Используемые в запросе таблицы показывает рис. 10.24. Мы хотим связать эти таблицы, чтобы они действовали как одна.

Используемые в запросе таблицы

Рис. 10.24. Используемые в запросе таблицы

Если две таблицы не связаны, то первые три столбца будут иметь вид, как показывает рис. 10.25. Будут выведены все записи первой таблицы.

Результаты запроса для не связанных таблиц

Рис. 10.25. Результаты запроса для не связанных таблиц

Чтобы связать две таблицы, щелкните по полю AddressID таблицы Адреса знакомых ( рис. 10.24) и перетащите курсор мыши на поле ID таблицы Информация о знакомых ( рис. 10.24). Появится линия, соединяющая поля AddressID и ID.

После соединения таблиц мы можем снова выполнить запрос. Чтобы сделать это, нажмите на значок Выполнить запрос. (Значок с зеленой отметкой - рис. 10.26.) Первые три столбца результата показывает рис. 10.27. В июле поженились две пары, и только эти две пары перечислены при использовании связанных таблиц.

Значок Выполнить запрос

Рис. 10.26. Значок Выполнить запрос
Результаты запроса со связанными таблицами

Рис. 10.27. Результаты запроса со связанными таблицами
Примечание Во время редактирования запроса вы можете изменить размер и положение таблиц. Click+перетащите за заголовок таблицу на новое место. Перемещение курсора на край таблицы приводит к изменению формы курсора на двунаправленную стрелку, что позволяет увеличить или уменьшить размер таблицы так же, как вы увеличиваете или уменьшаете размер окна.
СОВЕТ Изменяя Запрос_Свадьбы, мы можем получить список свадьб для любого месяца. В окне Information – OpenOffice.org Base выберите Запросы. Щелкните правой кнопкой на иконке Запрос_Свадьбы и выберите из контекстного меню Правка. В окне Запрос_Свадьбы замените '7' на номер нужного вам месяца. (Цифра 7 находится в строке Критерий и столбце WedDateM.) Убедитесь, что перед и после цифры вы ввели апостроф. Затем перезапустите запрос ( рис. 10.26). Вы можете создать форму для запроса Запрос_Свадьбы. Щелкните правой кнопкой на иконке Запрос_Свадьбы и выберите из контекстного меню Мастер форм. См. &Создание форм базы данных&
Создание запроса в режиме дизайна

Создание запроса в режиме дизайна не такая уж сложная задача, как это может сначала показаться. Для нашего запроса мы хотим узнать, у кого день рождения приходится на Август. Перейдите в секцию Запросы окна Information – OpenOffice.org Base. Выберите Создать запрос в режиме дизайна. Откроются окна Запрос1Дизайнер запросов и Добавить таблицы.

Шаг 1: Добавление таблиц
  1. Щелкните по таблице Адреса знакомых, а затем по кнопке Добавить.
  2. Щелкните по таблице Информация о знакомых, а затем по Добавить.
  3. Щелкните по Закрыть.

При этом откроются две выбранные таблицы. (См. рис. 10.24.)

Шаг 2: Связывание двух таблиц

Щелкните по AddressID в таблице Адреса знакомых и переместите курсор мыши на ID в таблице Информация о знакомых. Теперь эти два поля будут соединены линией.

Шаг 3: Ввод имен полей в запрос

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

  1. В таблице Адреса знакомых дважды щелкайте по следующим полям в указанной последовательности: FirstName, LastName, SpouseName.
  2. В таблице Информация о знакомых дважды щелкайте по следующим полям в указанной последовательности: HusBDM, HusBDD, HusBDY, WifeBDM, WifeBDD, WifeBDY, Ch1, Ch1BDM, Ch1BDD и Ch1BDY.
  3. В таблице Адреса знакомых щелкайте дважды по следующим полям в указанной последовательности: Address, City, StateOrProvince, PostalCode, CountryOrRegion.
СОВЕТ Вышеприведенные шаги могут быть использованы также для создания одной таблицы из полей двух и более таблиц. Если это то, что вам нужно от указанных трех шагов, вернитесь к разделу &Создание представления для нескольких таблиц&. В противном случае игнорируйте данный совет.
юрий лылов
юрий лылов

более туманного и запутанного объяснения макросов трудно наверно себе представить , похоже препод сам плавает во всем этом а вопросов поэтому нет ибо и отвечать будет некому

Павел Кекконен
Павел Кекконен