Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Комплекс лабораторных работ в среде ACCESS
Microsoft Access является настольной СУБД реляционного типа, которая позволяет выполнять
Access имеет простой графический интерфейс и позволяет не только создавать базу данных, но и разрабатывать приложения.
Обозначения в тексте:
Название заголовок окна или наименование вкладки;
Пункт меню название пункта меню;
Кнопка надпись на кнопке;
Ссылка ссылка в окне;
Таблица название объекта базы данных или самой базы данных.
База данных состоит из объектов, которые можно разделить на следующие группы: таблицы, запросы, формы, отчеты, страницы, макросы и модули, и содержится в одном файле, имеющем расширение "mdb".
Чтобы создать новую базу данных выберите в меню пункт Файл, а затем пункт Создать. В появившемся окне Создание файла выберите ссылку Новая база данных. В появившемся окне выберите папку, в которой собираетесь хранить базу данных, и введите название файла. После нажатия кнопки Создать откроется окно базы данных.
Окно базы данных предоставляет доступ ко всем объектам базы данных и позволяет выбрать режим работы с объектом (создание, изменение, просмотр, запуск и т.д.).
Это окно появляется, когда Вы создаете новую базу данных или открываете уже существующую базу данных. Для открытия базы данных необходимо выбрать в меню пункт Файл, а затем пункт Открыть базу данных. В окне Открытие файла базы данных откройте папку, в которой хранится файл, выделите файл и нажмите кнопку Открыть. Одновременно может быть открыта только одна база данных.
В окне базы данных объекты распределены по вкладкам и изображаются значками. Для работы с объектом определенного типа необходимо перейти на соответствующую вкладку и выделить требуемый объект. Для создания объекта служит кнопка Создать в окне базы данных, которая открывает окно Конструктора. После закрытия окна предлагается сохранить новый объект и вводится его имя. Модификация объекта возможна в режиме Конструктора, для перехода в этот режим предназначена кнопка Конструктор в окне базы данных. После закрытия окна конструктора предлагается сохранить внесенные изменения или аннулировать их, оставив объект таким, какой он был до перехода в режим Конструктора. Измененный объект можно сохранить под другим именем, выбрав в меню пункт Файл, Сохранить как. Работа с объектом начинается после нажатия кнопки Открыть (для отчета соответствующая кнопка носит название Просмотр, а для макроса Запуск) в окне базы данных.
Над каждым объектом можно выполнять операции удаления, копирования, вставки, изменения имени используя соответствующие пункты меню Правка (Удалить, Вырезать, Копировать, Вставить, Переименовать).
Таблица основной объект базы данных.
Для того чтобы создать таблицу необходимо в окне базы данных переключиться на вкладку Таблицы и нажать кнопку Создать, появится окно Конструктора таблицы.
Верхняя часть окна содержит таблицу, состоящую из трех столбцов: Имя поля, Тип данных, Описание. Она предназначена для определения полей (атрибутов) реляционной таблицы. Для каждого поля необходимо заполнить одну строку таблицы, т.е. ввести название поля (не более 64 символов), выбрать из раскрывающегося списка тип данных, которые будут находиться в этом поле, (возможные типы данных приведены в таблице далее по тексту) и ввести описание поля (рекомендуется ввести описание, так как оно выводится в строке состояния приложения и может служить справкой для пользователей приложения).
В таблице перечислены типы данных, определенные в Access
Тип |
Размер |
Описание |
Текстовый |
до 255 символов |
Символьные или числовые данные, не требующие вычислений. В свойстве Размер поля задается максимальное количество символов, которые могут быть введены в данное поле. |
Поле МЕМО |
до 65 535 символов |
Предназначено для ввода текстовой информации, по объему превышающей 255 символов. |
Числовой |
1, 2, 4, 8 или 16 байт |
Используется для хранения числовых данных, используемых в математических расчетах. Имеет много подтипов, которые задаются в свойстве Размер поля. |
Дата/Время |
8 байт |
Используется для представления даты и времени. Позволяет вводить даты с 100 по 9999 год. |
Денежный |
Предназначен для хранения данных, точность представления которых колеблется от 1 до 4 знаков после запятой. Целая часть может содержать до 15 десятичных знаков. |
|
Счетчик |
4 байта |
Автоинкрементное поле, уникальный номер, создаваемый для каждой новой записи автоматически. Значения поля обновлять нельзя. |
Логический |
Предназначен для хранения двух значений, интерпретируемых как "Да / Нет". Для представления значения "Да" используется 1, "Нет" 0. |
|
Поле объекта OLE |
Ограничивается дисковым пространством. |
Содержит ссылку на OLEобъект |
В нижней части окна Конструктора таблицы находятся две вкладки, содержащие свойства каждого поля таблицы: вкладка Общие содержит общие свойства поля, вкладка Подстановка" содержит параметры подстановки. Для того чтобы просмотреть или изменить свойства конкретного поля таблицы, необходимо выделить нужное поле в таблице, расположенной в верхней части окна Конструктора таблицы. Состав свойств определяется типом поля.
В таблице перечислены свойства полей таблицы Access
Свойство |
Описание |
Подпись |
Название столбца таблицы при просмотре ее содержимого. |
Обязательное поле |
Определяет, является ли ввод данных в это поле обязательным. |
Формат поля |
Задает формат ввода данных. |
Маска ввода |
Задает маску ввода, позволяющую автоматизировать проверку вводимых символов. |
Размер поля |
Для числовых полей определяет размер и тип чисел (длинное целое, целое, байт, с плавающей точкой, десятичное и др.) |
Число десятичных знаков |
Определяет число десятичных знаков после запятой. |
Индексированное поле |
Определяет, является ли поле индексированным. |
Значение по умолчанию |
Указывает значение, автоматически вставляемое в поле для каждой новой записи, если оно не введено пользователем. |
Условие на значение |
Определяет ограничения на вводимые в это поле данные. |
Сообщение об ошибке |
Содержит текст сообщения, который будет выдаваться пользователю, если при вводе данных не соблюдается условие, указанное в свойстве "Условие на значение". |
Пустые строки |
Для текстового типа определяет, допустимо ли вводить в данное поле пустые строки. |
Сжатие Юникод |
Для текстового типа определяет, используется ли кодировка UNICODE для данного поля. |
Новые значения |
Для типа счетчик указывает способ формирования следующего значения счетчика. |
Таблица обязательно должна содержать ключ, состоящий из одного поля или комбинации полей. Значение ключа, т.е. комбинация значений полей в него входящих, однозначно определяет каждую запись в таблице. Для создания ключа необходимо выделить строки, содержащие описание полей, которые будут в ключе, и выбрать в меню пункт Правка, Ключевое поле. Слева от названий этих полей появится пиктограмма с изображением ключа.
На рисунке представлено окно Конструктора для таблицы Student
После закрытия окна Конструктора таблицы появляется запрос о сохранении структуры таблицы. Нажав кнопку Да, Вы сможете дать имя новой таблице. После нажатия кнопки Нет созданная структура удаляется.
Таблица Student
Имя поля |
Тип поля |
Значения свойств |
Описание |
NStudent Ключевое поле |
Числовой |
Размер поля = Длинное целое Подпись = Номер |
Номер зачетной книжки студента. |
CName |
Текстовый |
Размер поля = 25 Подпись = ФИО Обязательное поле = Да |
Фамилия И.О. студента |
NDepartment |
Числовой |
Размер поля = Длинное целое Подпись = Факультет |
Код факультета, на котором учится студент |
NIQ |
Числовой |
Размер поля = Длинное целое Подпись = Интеллект |
Показатель интеллекта студента, вычисленный по специальной методике. |
NTeacher |
Числовой |
Размер поля = Длинное целое Подпись = Руководитель |
Код преподавателя, руководящего научной работой студента. |
OPhoto |
Поле объекта OLE |
Подпись = Фотография |
Графический файл с фотографией студента |
Таблица Department
Имя поля |
Тип поля |
Значения свойств |
Описание |
NDepartment Ключевое поле |
Числовой |
Размер поля = Длинное целое Подпись = Код |
Уникальный код факультета. |
CName |
Текстовый |
Размер поля = 25 Подпись = Название |
Наименование факультета |
Таблица Post
Имя поля |
Тип поля |
Значения свойств |
Описание |
NPost Ключевое поле |
Числовой |
Размер поля = Длинное целое Подпись = Код |
Уникальный код должности. |
CName |
Текстовый |
Размер поля = 25 Подпись = Наименование |
Наименование должности |
Таблица Teacher
Имя поля |
Тип поля |
Значения свойств |
Описание |
NTeacher Ключевое поле |
Числовой |
Размер поля = Длинное целое Подпись = Код |
Уникальный код преподавателя. |
CName |
Текстовый |
Размер поля = 25 Подпись = ФИО |
ФИО преподавателя. |
NDepartment |
Числовой |
Размер поля = Длинное целое Подпись = Факультет |
Код факультета, на котором работает преподаватель. |
NPost |
Числовой |
Размер поля = Длинное целое Подпись = Должность |
Код должности, занимаемой преподавателем. |
Таблица Subject
Имя поля |
Тип поля |
Значения свойств |
Описание |
NSubject Ключевое поле |
Числовой |
Размер поля = Длинное целое Подпись = Код |
Уникальный код предмета. |
CName |
Текстовый |
Размер поля = 25 Подпись = Наименование |
Наименование предмета. |
NHour |
Числовой |
Размер поля = Целое Подпись = Объем |
Объем занятий по предмету (часов). |
NTeacher |
Числовой |
Размер поля = Длинное целое Подпись = Преподаватель |
Код преподавателя, ведущего занятия. |
Для того чтобы внести изменения в структуру таблицы, например, переименовать поле, добавить новое поле, изменить длину поля, необходимо выделить таблицу в окне базы данных и нажать кнопку Конструктор. После этого откроется окно конструктора таблицы, в котором будут представлены все ранее выполненные настройки и можно внести изменение в любое свойство поля, просто изменив его значение.
Для добавления и удаления полей необходимо воспользоваться пунктом меню Правка, где выбрать Добавить строки или Удалить строки в зависимости от требуемых действий. Изменение ключевых полей выполняется просто установкой новых ключевых полей.
Имя поля |
Тип поля |
Значения свойств |
Описание |
Remark |
поле MEMO |
Подпись = Примечания |
Примечания. |
Для ускорения поиска и сортировки данных используются индексы. Индекс представляет собой упорядоченный список значений поля или нескольких полей со ссылками на те записи, в которых хранятся эти значения. Индекс, построенный по одному полю, называется простым, индекс, построенный по нескольким полям, называется составным.
Таблица может иметь несколько индексов, каждый индекс обладает уникальным именем. Для ключевого поля индекс создается автоматически и ему присваивается имя PrimaryKey.
Чтобы создать индекс, необходимо открыть окно Конструктора таблицы, выделив таблицу и щелкнув по кнопке Конструктор.
Для создания индекса необходимо выбрать в меню пункт Вид, Индексы. Открывшееся окно Индексы содержит таблицу, в которой представлены все индексы, созданные для таблицы. Таблица состоит из трех столбцов. Первый столбец содержит имя индекса, второй название поля, по которому построен индекс, третий порядок сортировки. Каждая строка таблицы описывает один индекс. Если вы определили ключевое поле, то таблица будет содержать строку с именем индекса PrimaryKey.
Для создания нового индекса в первой пустой строке таблицы в первом столбце введите название индекса, во втором столбце из раскрывающегося списка выберите поле, по которому, будет проведено индексирование, и в третьем столбце из раскрывающегося списка выберите порядок сортировки.
Для создания составного индекса в первой пустой строке таблицы в первом столбце введите название индекса, во втором столбце выберите из списка первое поле, входящее в составной индекс, в третьем столбце выберите порядок сортировки. В следующей строке оставьте незаполненным первый столбец, а во втором столбце выберите из списка второе поле составного индекса и настройте для него порядок сортировки. То же самое повторите для остальных полей, входящих в составной индекс: не заполняйте первый столбец, выберите из списка имя поля и настройте порядок сортировки.
После заполнения таблицы можно закрыть окно Индексы.
Простой индекс можно создать, не открывая окно Индексы. Для этого в окне Конструктора таблицы необходимо выбрать поле, которое требуется проиндексировать и установить в свойстве "Индексированное поле" значение "Да (Допускаются совпадения)" или "Да (Совпадения не допускаются)".
Таблица может иметь внешние ключи, ссылающиеся на другие таблицы. Внешний ключ это поле таблицы, которое может содержать только те значения, которые находятся в ключевом поле другой таблицы, на которую ссылается внешний ключ. Внешний ключ связывает две таблицы. Обычно такая связь означает, что каждой записи одной таблицы (назовем ее родительской таблицей) соответствует ноль, одна или более записей второй таблицы (назовем ее дочерней таблицей). Тогда, во второй таблице (дочерней) определяется внешний ключ, ссылающийся на первую таблицу (родительскую).
Связи между таблицами удобно представлять графически. В Access для этого используется схема данных. Чтобы открыть схему данных, необходимо выбрать в меню пункт Сервис, Схема данных. Вместе с окном схемы данных открывается окно Добавление таблицы, в котором нужно выбрать все таблицы и нажать кнопку Добавить, а затем кнопку Закрыть.
Каждая таблица на схеме изображается в виде небольшого окна, заголовок которого содержит название таблицы, а внутри него перечислены все поля таблицы, ключевые поля выделены жирным шрифтом.
Чтобы создать связь между двумя таблицами, необходимо перетащить с помощью мыши название поля, являющегося внешним ключом, из дочерней таблицы на название ключевого поля родительской таблицы. В открывшемся окне Связи можно выполнить необходимые настройки: определить поле внешнего ключа в дочерней таблице и поле, на которое ссылается внешний ключ, в родительской таблице, включить режим обеспечения целостности данных, позволяющий выполнять операции обновления и удаления зависимых записей в дочерней таблице при изменении значения ключевого поля или удаления записи из родительской таблицы.
После нажатия кнопки Создать на схеме данных таблицы будут соединены линией. Если был включен режим обеспечения целостности данных, то над линией появятся символы бесконечности (около дочерней таблицы) и единицы (около родительской таблицы).
Access находит связи между таблицами автоматически, если названия и типы данных поля родительской таблицы и поля дочерней таблицы совпадают.
Чтобы изменить связь необходимо выбрать в меню пункт Связи, Изменение связей. После выполнения этих действий откроется окно Связи.
Окно Связи содержит несколько флажков, которые устанавливают различные режимы поведения Access при выполнении операций с данными в связанных таблицах.
Чтобы активизировать один или несколько из этих режимов для какой-либо связи, нужно установить соответствующий флажок в окне Связи для выбранной связи.
Создадим связь между таблицами Student и Department по полю NDepartment. Откройте окно Схемы данных и перетащите с помощью мыши поле NDepartment из таблицы Student на поле NDepartment в таблице Department. В открывшемся окне установите флажок "Обеспечение целостности данных". Теперь в поле NDepartment таблицы Student невозможно внести код, отсутствующий в таблице Department. Невозможно удалить строку из таблицы Department или изменить значение поля NDepartment в этой таблице, если в таблице Student есть хотя бы одна запись с кодом факультета равным коду факультета удаляемой или изменяемой записи.
На рисунке представлено окно Схемы данных
со связью между таблицами Student и Department
Для того чтобы после изменения кода факультета в таблице Department автоматически изменялись соответствующие коды факультета в таблице Student, необходимо установить флажок Каскадное обновление связанных полей. Для того чтобы после удаления записи из таблицы Department удалялись все записи с таким же кодом факультета из таблицы Student, необходимо установить флажок каскадное удаление связанных записей.
а). запрещается удалять информацию о факультете, если на нем учится хотя бы один студент или работает хотя бы один преподаватель;
б). запрещается удалять информацию о преподавателе, если он читает хотя бы один предмет;
в). разрешить каскадное изменение во всех дочерних таблицах при изменении кода преподавателя;
г). при удалении должности разрешить каскадное удаление всех преподавателей, имеющих эту должность;
д). при добавлении нового студента установить проверку на на наличие вводимого кода факультета и вводимого кода преподавателя.
Для просмотра и редактирования данных в таблице необходимо в окне базы данных выбрать таблицу и нажать кнопку Открыть. Появится окно с содержимым таблицы. В верхней части таблицы располагаются имена полей (или подписи, если они были определены для поля), за которыми ниже следуют строки, в которых находятся данные одной записи таблицы.
Одна запись всегда является текущей, рядом с ней расположен указатель текущей записи в виде стрелки слева от записи. В нижней части окна находятся кнопки для перемещения указателя текущей записи по таблице (на первую запись, на предыдущую, на следующую, на последнюю, на новую запись), рядом находится поле номера текущей записи и общее количество записей в таблице. Перемещаться по таблице можно также при помощи клавиш управления курсором клавиатуры.
На рисунке представлено окно просмотра содержимого таблицы Student
Существует три операции с записями: добавление, изменение, удаление.
Чтобы добавить в таблицу новую запись, необходимо выбрать пункт меню Вставка, Новая запись (или нажать кнопку На новую запись, расположенную у нижней границы окна, или перейти на последнюю пустую строку таблицы, отмеченную символом звездочка) и ввести данные в поля новой записи.
Чтобы изменить существующую запись, необходимо переместить курсор в поле, данные в котором требуется изменить, ввести новые данные и нажать клавишу Tab для перехода на следующее поле. Изменения будут записаны только когда указатель на текущую запись будет перемещен на любую другую запись. До тех пор пока работа выполняется над одной записью, все изменения можно отменить, нажав клавишу Esc. Во время редактирования записи указатель на текущую запись имеет вид карандаша. Когда изменения будут зафиксированы указатель снова примет вид стрелки.
При выполнении этих операций отслеживаются установленные ограничения целостности для связанных таблиц. При изменении значений или вводе новых значений в связанные поля выполняется проверка на наличие таких значений в родительских таблицах и при их отсутствии появится сообщение об ошибке, но не ранее чем Вы переместите указатель текущей записи на другую запись. Изменения не будут приняты, пока данные во всех полях не будут удовлетворять установленным ограничениям.
При изменении данных в записи таблицы, являющейся родительской по отношению к другим таблицам, могут быть внесены изменения в связанные с ней записи в дочерних таблицах или наоборот, операция изменения записи не будет выполнена, так как с ней связаны записи в других таблицах.
Ввод значений в поле, имеющее тип Поле объекта OLE, выполняется по команде меню Вставка, Объект. В открывшемся окне можно активизировать радиокнопку Создать новый и, выбрав тип объекта и нажав кнопку ОК, создать объект, или активизировать радиокнопку Создать из файла и, нажав кнопку Обзор, выбрать файл содержащий объект. После выполнения этих действий в таблице появится подпись соответствующая типу объекта, например "Точечный рисунок" для графического файла, или "Лист Microsoft Excel" для листа электронной таблицы.
Изменение объектов происходит посредством пункта меню Правка, Объект, Изменить или Открыть, или Преобразовать. При этом открывается окно приложения, которое работает с объектами этого типа. Если требуется вставить другой объект, то существующий объект нужно удалить и вставить новый.
Чтобы удалить запись необходимо установить указатель текущей записи на удаляемую запись и выбрать в меню пункт Правка, Удалить запись. При удалении записи Access запрашивает подтверждение.
При удалении одной записи в таблице, являющейся родительской по отношению к другим таблицам, могут быть удалены связанные с ней записи в дочерних таблицах или наоборот, операция удаления записи не будет выполнена, так как с ней связаны записи в других таблицах.
Содержимое таблицы Department
NDepartment |
CName |
100 |
Математический |
200 |
Физический |
300 |
Экономический |
Содержимое таблицы Post
NPost |
CName |
10 |
Преподаватель |
20 |
Ст. преподаватель |
30 |
Доцент |
40 |
Профессор |
50 |
Зав. кафедрой |
Содержимое таблицы Teacher
NTeacher |
CName |
NDepartment |
NPost |
210 |
Поляков В.В. |
100 |
30 |
220 |
Кузнецов В.А. |
100 |
30 |
230 |
Бердино Н.Ю. |
100 |
20 |
310 |
Стефанович Г.Б. |
200 |
30 |
410 |
Дмитриева Л.Н. |
300 |
50 |
420 |
Литвинас А.П. |
300 |
40 |
320 |
Порывайло К.М. |
200 |
10 |
Содержимое таблицы Subject
NSubject |
CName |
NHour |
NTeacher |
103 |
Информационные системы |
90 |
210 |
42 |
Исследование операций |
60 |
220 |
111 |
Практикум на ЭВМ |
30 |
230 |
201 |
Физика |
30 |
310 |
305 |
Экономическая география |
90 |
420 |
302 |
Бухгалтерский учет |
50 |
410 |
317 |
Экономическая информатика |
80 |
210 |
193 |
Электротехника |
60 |
310 |
218 |
Банковские операции |
30 |
410 |
Содержимое таблицы Student
NStudent |
CName |
NDepartment |
NIQ |
NTeacher |
3467589 |
Отличников К.Л. |
100 |
99 |
210 |
4678455 |
Двоечников Н.Е. |
300 |
30 |
410 |
5934508 |
Середняков А.Д. |
200 |
64 |
310 |
7459876 |
Дубинин У.У. |
100 |
41 |
410 |
2227778 |
Мозгов О.Г. |
100 |
100 |
220 |
4678466 |
Хвостов П.П. |
300 |
64 |
410 |
5934512 |
Папуасов М.Ю. |
200 |
58 |
310 |
В поле OPhoto вставьте произвольные графические файлы.
В поле Remark введите произвольный текст.
а). удалить информацию о математическом факультете из таблицы Department (невозможно, так как есть студенты, учащиеся на этом факультете);
б). удалить информацию о преподавателе Кузнецов В.А. из таблицы Teacher (невозможно, так как этот преподаватель ведет предметы) и Порывайло К.М. (будет удалена); восстановить информацию о преподавателе Порывайло К.М.;
в). изменить код преподавателя Кузнецова В.А. на 610 в таблице Teacher и просмотреть содержимое таблиц Subject и Student, в которых автоматически изменятся значения столбца NTeacher для предметов, которые вел преподаватель Кузнецов В.А. и студентов, для которых он является руководителем; вернуть прежнее значение кода преподавателя Кузнецова В.А.
г). удалить должность с кодом 10 из таблицы Post и просмотреть таблицу Teacher, в которой будут автоматически удалены преподаватели имеющие код должности 10 (преподаватель Порывайло К.М.); восстановить информацию о преподавателе Порывайло К.М.
д). удалитьдолжность с кодом 30 из таблицы Post (невозможно, так как каскадно вместе с этой записью должны быть удалены все преподаватели, имеющие эту должность, но такие преподаватели являются руководителями студентов, а в этом случае информация о них не может быть удалена);
е). добавить информацию о новом студенте в таблицу Student :
NStudent |
CName |
NDepartment |
NIQ |
NTeacher |
354625 |
Куролесов И.И. |
600 |
62 |
310 |
Невозможно, так как нет факультета с кодом 600;
ж). добавить информацию о новом студенте в таблицу Student :
NStudent |
CName |
NDepartment |
NIQ |
NTeacher |
354625 |
Куролесов И.И. |
100 |
62 |
780 |
Невозможно, так как нет преподавателя с кодом 780;
з). добавить информацию о новом студенте в таблицу Student :
NStudent |
CName |
NDepartment |
NIQ |
NTeacher |
388688 |
100 |
62 |
310 |
Невозможно, так как поле CName должно быть заполнено.
В режиме Таблицы предусмотрены операции поиска данных по образцу. Чтобы найти требуемые данные, необходимо поместить курсор в поле, в котором будет выполняться поиск (если поиск выполняется по нескольким полям то, где находится курсор, не имеет значения) выбрать пункт меню Правка, Найти, ввести образец поиска и настроить условия поиска (Поиск в:, Совпадение:, Просмотр:, С учетом регистра, С учетом формата полей).
а). обучающихся на факультете с кодом 300;
б). фамилии которых заканчиваются на «ов»;
в). фамилии которых начинаются на «Д»;
г). в номере зачетной книжки или в коде факультета, или в уровне интеллекта, или в коде руководителя присутствует значение «22».
Для отбора записей во время просмотра или редактирования можно воспользоваться фильтром. Чтобы создать фильтр необходимо выбрать пункт меню Записи, Фильтр, Расширенный фильтр.
Окно Фильтра разделено на две области. В верхней области находится окно со списком полей открытой таблицы. В нижней области находится бланк фильтра. Каждый столбец бланка фильтра описывает одно поле таблицы, для которого записываются условия отбора записей или порядок сортировки.
Строка "Поле" предназначена для выбора имени поля таблицы из раскрывающегося списка. В строке "Сортировка" можно указать порядок сортировки значений данного поля. В строках "Условия отбора:", "или:" задаются условия отбора записей в виде логических выражений, например, (>30), (>= «Москва»), (=10).
При задании условия отбора записей можно использовать
В выражениях можно использовать имена других объектов базы данных, например, [Student]![CName] означает поле CName в таблице Student.
Вводить выражения можно не только вручную, но и с помощью Построителя выражений, который вызывается нажатием кнопки Построить, расположенной на панели инструментов Конструктор запросов.
Условия, записанные в одной строке, но в разных столбцах, связываются логической функцией «и», т.е. должны выполняться одновременно. Для задания условий, связанных логической функцией «или», необходимо каждое условие записать на отдельной строке.
После заполнения бланка фильтра необходимо выполнить команду меню Фильтр, Применить фильтр. Закрытие окна Фильтра приводит к его уничтожению. Чтобы отменить действие фильтра, необходимо выбрать в меню пункт Записи, Удалить фильтр.
Когда таблица открывается в режиме Таблицы, то записи упорядочены по возрастанию значений ключевого поля. Если нужно отсортировать записи по значению другого поля, необходимо установить курсор на любую строку соответствующего столбца и выбрать пункт меню Записи, Сортировка, Сортировка по возрастанию/Сортировка по убыванию. Чтобы вернуться к первоначальному порядку сортировки (по значению ключевого поля), необходимо выбрать пункт меню Записи, Удалить фильтр. Процесс сортировки значительно ускоряется, если предварительно по данному полю был построен индекс.
Сортировка по нескольким полям одновременно выполняется через фильтр.
а). по кодам факультетов в порядке возрастания;
б). по показателям интеллекта в порядке убывания.
Вторым по значению объектом базы данных является запрос. В Access существует несколько видов запросов: запросы на выборку данных из таблиц, запросы на изменение данных в таблицах, позволяющие удалять, обновлять и добавлять записи, запросы на создание таблицы и другие.
Рассмотрим запросы на выборку данных, соответствующих некоторому условию и их сортировку. Запросы располагаются на вкладке Запросы окна базы данных. Чтобы создать новый запрос, необходимо выбрать вкладку Запросы в окне базы данных и щелкнуть в этом окне по кнопке Создать. Откроется окно Конструктора запроса и вместе с ним окно Добавления таблицы. В этом окне нужно выбрать таблицы, данные из которых потребуются для выполнения запроса, и нажать кнопку Добавить. После добавления всех необходимых таблиц можно закрыть окно Добавление таблицы нажатием кнопки Закрыть.
Окно Конструктора запроса разделено на две области. В верхней области отображена схема данных, состоящая из добавленных в запрос таблиц (если между таблицами установлены связи, то они тоже отображены на схеме), а в нижней области окна находится бланк запроса.
Рассмотрим бланк запроса.
Каждый столбец бланка запроса описывает одно поле таблицы или выражение, являющиеся результирующими полями запроса или входящие в условия отбора записей.
Строка "Поле" предназначена для ввода имени поля таблицы источника данных (символ звездочка "*" обозначает сразу все поля одной таблицы) или вычисляемого выражения. Полю запроса можно дать собственное название, для этого перед именем поля или выражением, необходимо ввести название поля запроса и двоеточие.
Вторая строка "Имя таблицы" предназначена для ввода имени таблицы, которой принадлежит выбранное поле. Эта строка заполняется автоматически при выборе имени поля в первой строке бланка запроса. Для выражений имя таблицы заполнять необязательно.
В строке "Сортировка" можно указать порядок сортировки данного поля.
Строка "Вывод на экран" содержит флажок, который указывает на то, будет ли выводится соответствующее поле запроса на экран при просмотре результатов выполнения запроса.
В строках "Условия отбора", "или:" задаются условия отбора записей из таблиц в виде логических выражений, например, (>30), (>="Москва"), (=10).
Если требуется выполнить групповые операции над записями таблицы, то необходимо нажать кнопку Групповые операции на панели инструментов Конструктор запросов. После этого в бланке запроса появится строка "Групповая операция". Из раскрывающегося списка можно выбрать тип операции: Sum, Avg, Count, Min, Max и др.
Результат запроса можно просмотреть, не выходя из окна Конструктора запросов, нажав на панели инструментов Конструктор запросов кнопку Вид и выбрав "Режим таблицы". Для того чтобы увидеть как будет выглядеть запрос на языке SQL необходимо после нажатия на кнопку Вид выбрать пункт Режим SQL. В этом режиме можно изменить запрос, составленный с помощью бланка запроса, или ввести новый запрос. После перехода в режим Конструктора запрос на языке SQL будет преобразован в структуру бланка запроса.
При закрытии окна Конструктора запроса будет предложено сохранить запрос как объект базы данных и дать ему имя.
Чтобы выполнить запрос, необходимо выбрать его в окне базы данных и нажать кнопку Открыть, для изменения запроса необходимо нажать кнопку Конструктор. Удалить запрос можно выбрав в меню пункт Правка, Удалить.
При задании условия отбора записей можно использовать операторы сравнения: <, >, <=, >=, =, <>, логические функции: And, Or, Not, Xor, арифметические операции: + (сложение), -(вычитание), * (умножение), / (деление), \ (деление нацело), mod (остаток от деления), ^ (возведение в степень), функции, например, Date() (текущая дата), Cos() (косинус угла) и др., операторы слияния строковых значений &, например, "Мос" & "ква", операторы сравнения с образцом: Between (задает диапазон значений, например, Between 10 and 20), Is (Определяет, является ли значение пустым, например, Is Null или Is Not Null), In (задает список значений, например, In("Москва","Саратов","Кострома")), Like (задает сравнение по шаблону, например, Like "?а*", означает слова, в которых вторая буква а, в шаблоне можно использовать символ "?", который замещает только один знак, и символ "*", который замещает любое число знаков).
В выражениях можно использовать имена других объектов базы данных, например, [Student]![CName] означает поле CName в таблице Student.
Условия, записанные в одной строке, но в разных столбцах, связываются логической функцией «и», т.е. должны выполняться одновременно. Для задания условий, связанных логической функцией «или», необходимо каждое условие записать на отдельной строке.
Вводить выражения можно не только вручную, но и с помощью Построителя выражений, который вызывается нажатием кнопки Построить, расположенной на панели инструментов Конструктор запросов.
Сформируем запрос, выводящий ФИО студента, его показатель интеллекта, фотографию и название факультета для студентов с показателем интеллекта выше 10.
В окне базы данных перейдите на вкладку Запросы и нажмите кнопку Создать. Для запроса нам потребуются две таблицы Student и Department. Выделите в открывшемся окне эти две таблицы и нажмите кнопку Добавить, после этого закройте окно. В окне Конструктора запросов должны появиться два окна со списками полей выбранных ранее таблиц, соединенные линией, обозначающей связь между таблицами.
В первом столбце бланка запроса в первой строке из раскрывающегося списка выберите поле Student.CName, перед именем поля введите "FIO:", во втором столбце выберите поле Student.NIQ, перед именем поля введите "NIQ:", в третьем Student.OPhoto, перед именем поля введите "Photo:", в четвертом Department.CName, перед именем поля введите "Department:".
Во втором столбце в строке Условия отбора введите выражение ">50".
На рисунке представлено окно Конструктора запроса на выборку данных
из таблиц Department и Student
Закройте окно Конструктора запросов, дайте запросу название SmartStudent.
Чтобы просмотреть результаты запроса выделите запрос в окне базы данных и нажмите кнопку Открыть.
Откройте запрос в режиме SQL и посмотрите как будет выглядеть сформированный запрос на языке SQL. Он должен выглядеть следующим образом: "SELECT Student.CName AS FIO, Student.NIQ AS NIQ, Student.OPhoto AS Photo, Department.CName AS Department FROM Department INNER JOIN Student ON Department.NDepartment = Student.NDepartment WHERE (((Student.NIQ)>50));".
Для того чтобы получить информацию о студентах с другим интеллектуальным уровнем, например, большим 20, потребуется либо составить новый запрос, либо исправить условие в ранее созданном запросе SmartStudent. Эти действия придется выполнять каждый раз, когда потребуется изменить условие отбора записей. Access предлагает другой способ решения этой проблемы запрос с параметрами.
Запрос с параметрами это запрос, при выполнении которого появляется диалоговое окно, в котором пользователю предлагается ввести данные, например, нижнюю границу уровня интеллекта. Введенные данные подставляются в запрос вместо определенных в нем параметров, и запрос выполняется на основе введенных значений. Параметр это переменная, которая получает введенное пользователем значение. В бланке запроса параметр записывается в виде текста приглашения к вводу значения, заключенного в квадратные скобки. Параметр может использоваться вместо константы в условии отбора записей, например, вместо значения 50 для нижней границы уровня интеллекта, в этом случае в диалоговом окне пользователь вводит только значение, или вместо условия целиком, тогда пользователь в диалоговом окне должен ввести условие в таком же формате, как и в бланке запроса.
Для добавления в запрос параметра откройте запрос в режиме конструктора. В условиях отбора там, где должен располагаться параметр, в квадратных скобках введите текст приглашения к вводу данных.
Откройте в режиме конструктора запрос SmartStudent. Вместо числа "50" введите следующий текст "[Введите уровень интеллекта:]". Сохраните запрос под другим именем, выбрав в меню пункт Файл, Сохранить как и в открывшемся диалоговом окне выделив радиокнопку "В текущей базе данных", набрав новое имя запроса в поле ввода и нажав кнопку ОК. Откройте запрос из окна базы данных. Сначала откроется диалоговое окно, в котором будет выведен текст "Введите уровень интеллекта:" и расположено поле ввода. В поле ввода введите значение 80 и нажмите кнопку ОК. В окне появится результат запроса, содержащий две строки для студентов, уровень интеллекта которых превосходит введенное значение 80.
Интерфейс с пользователем можно организовать при помощи специальных диалоговых окон, называемых формами, которые сохраняются в базе данных как самостоятельные объекты. Формы обычно отражают одну запись таблицы или запроса и разрешают просматривать ее или редактировать, а также вводить новые записи.
Чтобы создать форму, необходимо в окне базы данных перейти на вкладку Формы и нажать кнопку Создать, при этом откроется окно Конструктора форм.
В режиме конструктора форма представляет собой разлинованную область, на которую можно поместить различные элементы управления, такие как текст, рисунок, рамка, значение поля таблицы и др. Все элементы управления собраны на палитре компонентов Панель элементов, открывающейся вместе с окном Конструктора форм.
Прежде чем начать формировать внешний вид формы нужно определить источник данных. Для этого выберите в меню пункт Вид, Свойства. В открывшемся окне перейдите на вкладку Все и поместите курсор на строку «Источник записей», из раскрывающегося списка выберите таблицу или запрос, поместите курсор на строку «Подпись» и введите название формы, которое появится в заголовке окна после открытия формы, после этого закройте окно со свойствами.
Для того чтобы в форме просматривать значения полей, необходимо поместить на форму соответствующие элементы управления. Выберите в меню пункт Вид, Список полей. При этом появится окно со списком полей таблицы или запроса, выбранного в качестве источника данных для формы. В этом списке выберите поле и перетащите его на поверхность формы. Появятся две прямоугольные области, левая содержит подпись поля, а правая окно для отображения значений поля. Размеры области можно изменить с помощью мыши. Подпись поля можно изменить, установив курсор внутри подписи и после изменения цвета фона ввести новое значение.
В область формы можно поместить статический текст или рисунок, для этого необходимо щелкнуть по соответствующему значку на палитре компонентов Элементы управления и щелкнуть на форме в том месте, куда Вы собираетесь поместить элемент управления.
Размеры, внешний вид и другие характеристики любого элемента управления можно настроить, выделив элемент управления и выбрав в меню пункт Вид, Свойства. Открывшееся окно будет содержать характеристики и их значения для выделенного элемента управления.
Создадим форму для просмотра результатов запроса SmartStudent.
В окне базы данных перейдите на вкладку Формы и нажмите кнопку Создать.
Выберите в меню пункт Вид, Свойства. В открывшемся окне перейдите на вкладку Все и в строке «Источник записей» из раскрывающегося списка выберите запрос SmartStudent, в строке «Разрешить изменение» установите значение «Нет», в строке «Разрешить удаление» установите значение «Нет», в строке «Разрешить добавление» установите значение «Нет», тем самым форма будет предназначена только для просмотра результатов запроса.
Выберите в меню пункт Вид, Список полей. Перенесите из него в область данных поле FIO. На форме появятся две области: область слева надпись, область справа поле. В левой области измените подпись, введя "ФИО" вместо "FIO:". С помощью мыши настройте размеры и расположение областей. Когда Вы щелкаете мышью по какому-либо элементу управления в окне Свойства отражаются характеристики этого элемента управления, а заголовок окна содержит название элемента управления. Перенесите на форму из окна еще два поля Departmrnt и Photo, настройте их характеристики: измените подписи "Факультет" и "Фотография", расположите все элементы управления удобным для восприятия образом.
Теперь настроим заголовок формы. В меню выберите пункт Вид, Заголовок/примечание формы. К форме будут добавлены две области: выше области данных появится область Заголовок формы, а ниже Примечание формы. На панели инструментов Панель элементов найдите кнопку с подсказкой Надпись, на ней нарисованы две буквы "Аа", нажмите ее и щелкните мышкой в области Заголовок формы, после курсора введите текст "Лучшие студенты университета". Настройте характеристики надписи, изменив цвет текста, размер шрифта.
Высоту области Примечания формы сделайте нулевой.
Закрыв окно формы, сохраните ее под именем "Студенты".
Откройте форму, нажав кнопку Открыть в окне базы данных, и просмотрите записи.
На рисунке представлено окно Формы Студенты
В форме можно не только просматривать содержимое одной таблицы, но также и содержимое ее дочерних таблиц, причем содержимое дочерней таблицы отображается не целиком, а только те записи, которые связаны с текущей записью родительской таблицы. Для этого необходимо создать отдельную форму для дочерней таблицы, эта форма будет называться подчиненной и будет внедрена в форму для родительской таблицы. В форме для родительской таблицы, эта форма будет называться главной, поместить элемент управления Подчиненная форма/отчет и ввести имя дочерней формы в свойстве Объект-источник для этого элемента управления. В подчиненной форме будут видны только связанные записи, т.е. записи дочерней таблицы, имеющие значение внешнего ключа такое же как значение ключевого поля текущей записи в главной форме.
Подчиненная форма связана с главной с помощью свойств Основные поля и Подчиненные поля элемента управления Подчиненная форма/отчет. Эти поля автоматически заполняются при вводе значения свойства Объект-источник на основе заданных связей между таблицами. Если связи не заданы (например, когда источником данных в форме является запрос), то эти свойства необходимо заполнить вручную. В свойстве Подчиненные поля необходимо ввести имя связующего поля из таблицы или запроса, на котором базируется подчиненная форма (т.е. имя поля внешнего ключа). В свойстве Основные поля необходимо ввести имя связующего поля из таблицы или запроса, на котором базируется главная форма (т.е. имя ключевого поля).
Подчиненная форма может быть трех типов: простая форма, ленточная форма, таблица. В первом случае подчиненная форма выглядит также как и при обычном ее просмотре. Во втором случае внешний вид формы повторяется для каждой записи и таким образом получается лента. В третьем случае записи организованы в виде таблицы.
Внешний вид формы определяется значением свойства Режим по умолчанию для формы.
Еще одним объектом базы данных являются отчеты. Отчет это данные подготовленные для печати. Чтобы создать отчет необходимо перейти на вкладку Отчеты в окне базы данных и нажать кнопку Создать. Окно Конструктора отчетов похоже на окно Конструктора форм. Формирование внешнего вида отчета аналогично формированию внешнего вида формы.
Отчет состоит из нескольких разделов: Заголовок отчета данные, расположенные в этом разделе будут напечатаны только на первой странице отчета, Верхний колонтитул данные, расположенные в этом разделе будут печататься вверху каждой страницы отчета, Заголовок группы данные, расположенные в этом разделе будут печататься в начале каждой группы данных, Область данных данные, расположенные в этом разделе будут печататься для каждой записи источника данных, Примечание группы данные, расположенные в этом разделе будут печататься в конце группы данных, Нижний колонтитул данные, расположенные в этом разделе будут печататься в конце каждой страницы отчета, Примечание отчета данные, расположенные в этом разделе будут напечатаны на последней странице отчета.
Для отображения / скрытия разделов отчета необходимо выбрать соответствующий пункт меню Вид, Колонтитулы или Вид, Заголовок/примечание отчета. Для задания группы необходимо выбрать пункт меню Вид, Сортировка и группировка.
В разделы отчета так же как и в формы переносятся поля источника данных и дополнительные элементы управления. Аналогично форме отчет может содержать подчиненные отчеты и вычисляемые поля.
Создадим отчет по запросу SmartStudent.
В окне базы данных перейдите на вкладку Запросы и нажмите кнопку Создать.
Выберите в меню пункт Вид, Свойства. В открывшемся окне перейдите на вкладку Все и в строке Источник записей из раскрывающегося списка выберите запрос SmartStudent.
Сгруппируем записи в отчете по названию факультета. Для этого выберите в меню пункт Вид, Сортировка и группировка. В открывшемся окне в первом столбце первой строки вы берите из раскрывающего списка поле Department. В нижней части окна установите следующие характеристики: Заголовок группы Да, Примечание группы Да. Закройте окно.
В Область заголовка группы поместите поле Department из окна полей (если оно не открыто, выберите в меню пункт Вид, Список полей).
В Область данных поместите поля FIO, NIQ, Photo, настройте их характеристики по своему желанию. У нижней границы Области данных разместите горизонтальную линию.
В Область верхний колонтитул поместите элемент управления надпись и введите текст "Список лучших студентов университета".
В Область заголовок отчета поместите элемент управления надпись и введите текст "Университет". Характеристики надписей установите по своему желанию.
В Область примечание группы поместите элемент управления поле (он на его кнопке изображены две буквы и вертикальная черта "аб|". В надписи введите текст "Всего:" и выделите элемент управления поле. Откройте для него окно свойств и выберите строку Данные. Нажмите справа от нее кнопку с изображением трех точек для вызова построителя выражений. В левом нижнем окне дважды щелкните по значку "плюс" напротив слова "функции" и выделите пункт "Встроенные функции". Найдите в правом нижнем окне функцию Count и дважды щелкните по ее названию, при этом в верхнем окне должна появиться строка Count("expr"). В круглых скобках вместо "expr" введите символ звездочка (*) и нажмите кнопку ОК. Эта функция подсчитывает количество записей. Так как мы ее расположили в области Примечание группы, то после вывода всех записей группы будет напечатано количество записей в группе, т.е. количество студентов на факультете.
У нижней границы Области примечание группы разместите горизонтальную линию.
Область нижний колонтитул удалите.
В Области примечание отчета поместите элемент управления поле и в строке данные в окне его свойств выберите функцию Date().
Закройте отчет сохранив его под именем Факультеты.
Для просмотра отчета в окне базы данных нажмите кнопку Просмотр.
На рисунке представлено окно Конструктора отчета Факультеты
Макрос представляет собой набор из одной или более макрокоманд, выполняющих определенные операции, например, открытие таблицы, выполнение запроса, применение фильтра, печатать отчета и другие.
Чтобы создать макрос, необходимо перейти на вкладку Макросы в окне базы данных и нажать кнопку Создать. Откроется окно конструктора макросов. Окно разделено по горизонтали на две части. В верхней части окна расположена таблица, состоящая из двух столбцов Макрокоманда и Примечание. Каждая строка таблицы соответствует одной макрокоманде, которая выбирается из раскрывающегося списка в столбце Макрокоманда, в столбце Примечание можно ввести комментарий, описывающий действия.
После выбора макрокоманды в нижней части окна появляются аргументы этой команды, которые необходимо заполнить.
Создадим макрос, выполняющий запрос SmartStudent.
В окне базы данных перейдите на вкладку Макросы и нажмите кнопку Создать. В первой строке таблицы в столбце Макрокоманда выберите из раскрывающегося списка макрокоманду Открыть запрос. В нижней части окна Конструктора появятся три аргумента этой команды: Имя запроса, Режим, Режим данных. Для первого аргумента, Имя запроса, из расположенного справа от него раскрывающегося списка выберите запрос SmartStudent. Аргумент Режим определяет режим открытия запроса и принимает три значения Таблица (выводится результат выполнения запроса), Конструктор (открывается окно конструктора запроса), Просмотр (открывается окно предварительного просмотра для вывода результатов запроса на печать). Выберите для этого аргумента значение Таблица. Аргумент Режим данных используется только когда запрос открывается в режиме Таблица и определяет какие операции можно выполнять над данными, полученными в запросе. Он может принимать одно из трех значений: Добавление, Изменение, Только чтение. Выберите для этого аргумента значение Изменение. Закройте окно Конструктора запросов и дайте имя макросу SmartStudent.
На рисунке представлено окно Конструктора макроса SmartStudent
Для выполнения макроса в окне базы данных нажмите кнопку Запуск.
Макросы можно использовать в формах и запускать их при нажатии на кнопку.
Создадим форму для просмотра отчетов.
Создайте макрос с именем Нагрузка преподавателей, который открывает для просмотра отчет с таким названием. Создайте макрос с именем Факультеты, который открывает для просмотра отчет с таким названием.
Создайте новую форму и поместите на нее два элемента управления кнопка. Выделите первую кнопку и откройте для нее окно свойств. Установите в свойстве Подпись значение Отчет по нагрузке. Для свойства Нажатие кнопки в раскрывающемся списке выберите макрос с названием Нагрузка преподавателей. Выделите вторую кнопку и установите для нее в свойстве Подпись значение Отчет по факультетам. Для свойства Нажатие кнопки в раскрывающемся списке выберите макрос с названием Факультеты. Сохраните форму под именем Отчеты.
Откройте форму и попробуйте нажать на кнопки, расположенные на ней.
Иногда требуется изменить порядок выполнения макрокоманд. Для этого в макросе вводятся условия выполнения или пропуска макрокоманд. Условия вводятся в столбце Условие в верхней части окна Конструктора макросов. Чтобы увидеть этот столбец, необходимо выбрать пункт меню Вид, Условия. Если условие истинно, то выполняется макрокоманда, находящаяся в строке с условием, если ложно, то эта макрокоманда пропускается. Если требуется выполнить несколько макрокоманд при истинности одного условия, то они записываются в следующих строках после строки с условием и столбце Условие ставится многоточие.
Внесем изменения в форму Отчеты.
Откройте форму Отчеты в режиме Конструктора. Перенесите на форму элемент управления Группа. Перенесите на форму внутрь группы два элемента управления радиокнопка. Для первого установите в свойстве Подпись значение Нагрузка преподавателей, а для второго Факультеты. Измените значение свойства Подпись для первой кнопки на значение ОК. Удалите вторую кнопку. Для элемента управления группа установите в свойстве Значение по умолчанию значение 1. Для элемента управления Надпись, который перенесся на форму вместе с элементом управления группа установите в свойстве Подпись значение Выбор отчета. Сохраните форму под именем Просмотр отчетов.
Откройте макрос Факультеты в режиме конструктора. Выберите в меню пункт Вид, Условия. Удалите все заполненные строки. В первой строке в столбце Условие с помощью построителя выражений сформируйте следующее логическое выражение "[Forms]![Отчеты]![Группа0]=1". В столбце Макрокоманда выберите команду ОткрытьОтчет и выберите из раскрывающегося списка в поле аргумента Имя отчета отчет Нагрузка преподавателей. Во второй строке в столбце Условие с помощью построителя выражений сформируйте логическое выражение "[Forms]![Отчеты]![Группа0]=2", в столбце Макрокоманда выберите команду ОткрытьОтчет и выберите из раскрывающегося списка в поле аргумента Имя отчета отчет Факультеты. Установите для обеих макрокоманд в поле аргумента Режим значение Просмотр. Сохраните макрос.
Откройте форму Просмотр отчетов, выделите желаемый отчет и нажмите кнопку ОК. После этого должно открыться окно просмотра с выбранным Вами отчетом. Закройте это окно и выберите другой отчет и нажмите кнопку ОК. При этом должно открыться окно просмотра для другого отчета.
Если макросу будет присвоено имя "AutoExec", то он будет автоматически при открытии базы данных.
Форма Запросы должна содержать две кнопки с названиями Преподаватели и Факультеты, при нажатии на которые открываются ранее созданные формы с такими же названиями.
Форма Отчеты это копия формы Просмотр отчетов.
Создайте макрос, открывающий Главную форму, такой, чтобы он запускался автоматически при открытии базы данных Univer.mdb.
18
PAGE 16