Задание к уроку 5 Дополнительные функции Access
Запустите MS Access. Выберите строку Открыть... в меню Файл и укажите имя БД teach, созданной на предыдущем занятии. В списке таблиц БД teach вы увидите PREP и DIS_GR. Выберите таблицу DIS_GR.
Вставка полей.
В режиме Конструктора выберите, но не выделяйте, строку определения поля, перед которым нужно вставить новое поле, например, FAK.
На вкладке Конструктор в разделе Сервис нажмите кнопку
Вставить
строки.Введите определение нового поля Note тип данных поле Memo.
Перемещение полей.
Выделите строку определения поля, подлежащего перемещению, например FAK, и перетащите поле мышью, так чтобы оно стало между полями PR и Note.
Копирование полей.
Требуется ввести определение поля ST_GR - староста группы путем копирования определения поля PR. Для этого:
Выделите строку PR.
На вкладке Главная нажмите кнопку
КопироватьПереместите курсор на строку FAK, перед которой надо вставить копируемую, но не выделяйте ее, на вкладке Главная нажмите кнопку
Вставить.Измените имя скопированного поляна ST_GR, описание поля и свойство Подпись поля на Староста группы.
Изменение размера поля.
Измените размер поля GR на целое. Размер поля задается в области Свойства полей.
Перейдите в режим таблицы, посмотрите, как выглядит таблица DIS_GR после изменений ее структуры.
Добавьте новую строку в таблицу: введите Ф.И.О. преподавателя - Малышев С.В., примечание “Работает на кафедре МО ЭВМ с 1970 года, доцент, кандидат технических наук”, название дисциплины - ОП, номер группы 2352, Ф.И.О. старосты - Петров А.Н., факультет ФЭТ.
Вернитесь в режим Конструктора.
Удаление полей.
Удалим поля Note и ST_GR.
Выделите по очереди ненужные поля.
Нажмите Delete и подтвердите действие по удалению полей.
Закройте и сохраните таблицу.
Объединение таблиц.
На вкладке Создание в разделе Другие щелкните по кнопке Конструктор запросов и из списка таблиц выберите таблицы PREP и DIS_GR. Щелкните по кнопке Добавить и закройте окно добавлений.
Укажите поля, которые должны присутствовать в результирующей таблице, перетащив их мышью в бланк запроса. Нам нужны все поля главной таблицы PREP (все поля в списке обозначаются символом *) и все поля, кроме поля связи, из второй.
На вкладке Конструктор в разделе Тип запроса щелкните по кнопке
Создание
таблицы.Задайте имя объединенной таблицы PR_DIS.
Закройте окно запроса на создание таблицы, подтвердив необходимость создания структуры запроса. Имя запроса, предлагаемое системой, можно поменять.
Выберите созданный запрос в окне базы данных и щелкните Открыть из контекстного меню, подтвердите желание выполнить изменения.
Убедитесь, что таблица PR_DIS создана, перейдя к списку таблиц.
Если у вас в окне БД есть Предупреждение системы безопасности, то ваш запрос не выполнится и новая таблица не появится. Во избежание этого щелкните по кнопке Параметры и установите опцию Включить это содержимое. После этого еще раз выполните команду Открыть для своего запроса. Убедитесь, что таблица PR_DIS создана.
Вернитесь к списку запросов и удалите созданный запрос.
Изменение первичного ключа.
Скопируйте таблицу PREP, назовите копию PREP2. Перейдите в режим конструктора и уберите в таблице PREP2 существующий первичный ключ FIO с помощью пиктограммы ключа, а затем в первую строку определения таблицы вставьте пустую строку и определите новое поле NUM типа Счетчик. Сохраните определение таблицы. Перейдите в режим таблицы (новый столбец должен автоматически заполниться для всех записей).
Удаление таблицы.
Перейдите в окно БД, выделите таблицу PREP2 и нажмите на кнопку Delete.
Запрос на обновление.
Такой запрос используется с целью внесения одинаковых изменений в несколько записей. Увеличим, например, на 10% нагрузку всех ассистентов. Для этого:
Находясь в окне БД Teach, создадим запрос – выборку на основе таблицы PREP, чтобы отобрать из таблицы всех ассистентов, сохраним его под именем Update и убедимся в правильности его выполнения.
Преобразуем созданный запрос в запрос на обновление, для этого на вкладке Конструктор, в области Тип запроса, щелкните по кнопке
Обновление.
В бланке QBE-запроса появится строка Обновление, на пересечении этой строки со столбцом Nagr введем выражение [Nagr]*1,1
Сохраним изменения, выполним запрос и убедимся, что ожидаемые изменения в таблице PREP произошли.
Импорт текстовых файлов в Access.
Создайте в редакторе Word следующую таблицу:
Код предмета |
Название |
Семестр |
Кол-во часов |
БДиБЗ |
Базы данных и базы знаний |
5 |
95 |
ТУ |
Теория управления |
5 |
80 |
ОП |
Основы программирования |
1 |
? |
Преобразуйте таблицу в текст, разделенный табуляторами. Для этого
Выделите таблицу и на вкладке Макет в разделе Данные нажмите на кнопку
Преобразовать в текст. В качестве
Разделителя установите Знак
табуляции.Сохраните таблицу под именем PRED в вашем каталоге как обычный текст с расширением .txt и выйдите из редактора.
З апустите Access. Для этого нажмите на кнопку Пуск в левом нижнем углу экрана и последовательно выберите Программы Microsoft Office Microsoft Office Access. Оказавшись в прикладном окне Access, выберите значок Новая база данных и выполните следующие действия:
В правой части экрана щелкните по кнопке Поиск расположения для размещения базы данных
На диске H:\ перейдите в созданную папку Acc.
Замените предложенное системой имя База данных1 в поле имя файла на имя будущей БД, DIS.
Щелкните по кнопке Создать.
Закройте окно Таблица1, появляющееся по умолчанию.
На вкладке Внешние данные, в разделе Импорт, щелкните по кнопке
Импорт
текстового файла.В качестве источника данных укажите таблицу PRED, воспользовавшись кнопкой Обзор.
Установите опцию Импортировать данные источника в новую таблицу в текущей базе данных.
В окне Импорт текста:
Выберите поля С разделителями и щелкните по кнопке Далее.
Установите в качестве разделителя полей табуляция и щелкните по индикатору Первая строка содержит имена полей, а затем по кнопке Далее.
Для поля Код предмета измените индекс на Да (Совпадения не допускаются), для поля Семестр - тип данных на Байт, для поля Кол-во часов - тип данных на Байт, щелкните Далее.
Определите в качестве ключевого поля Код предмета, щелкните Далее.
Задайте для таблицы, в которую производится импорт, имя PRED, щелкните по кнопке Готово.
Получив сообщение о завершении импорта в PRED и об обнаруженных при этом ошибках, проанализируйте содержимое таблицы Ошибки Импорта, исправьте ошибки.
Создайте с помощью Мастера перекрестный запрос на базе таблицы PRED.
Результатом такого запроса должна быть таблица, названия строк которой – это названия предметов, а названия столбцов – номера семестров, на пересечении строк и столбцов должно находиться количество часов, отводимых на данный предмет в данном семестре.
Дополните таблицу данными т.о., чтобы некоторые предметы читались в нескольких семестрах.
Для этого вам потребуется снять ключ с поля Код предмета.
На вкладке Создание, в разделе Другие щелкните по кнопке
Мастер
запросов.В списке типов запросов выберите Перекрестный запрос.
В открывшемся диалоговом окне выберите таблицу PRED, перейдите в следующее окно.
В качестве заголовков строк выберите поле с кодом или названием предмета, перейдите в следующее окно.
Для использования в качестве заголовков столбцов выберите значения поля Семестр, перейдите в следующее окно.
В качестве функции для вычисления значений, находящихся на пересечении строк и столбцов, можно выбрать сумму для поля Кол-во часов. Индикатор вычисления итогового значения для каждой строки должен быть установлен в "да", перейдите в следующее окно.
Завершите формирование запроса, задав имя CrossQ, посмотрите, как выглядит результат запроса.
© Балтийский институт иностранных языков и межкультурного сотрудничества 2010
