
Задание к уроку 5 Дополнительные функцииAccess
Запустите MSAccess. Выберите строкуОткрыть... в менюФайли укажите имя БД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