Напоминание

База данных Access


Автор: Любовь Ростиславовна Лушпа
Должность: учитель Информатики
Учебное заведение: ГБОУ школа 571
Населённый пункт: г. Санкт-Петербург
Наименование материала: Учебно-методическое пособие по работе с базой данных Access
Тема: База данных Access
Раздел: среднее образование





Назад




Государственное бюджетное общеобразовательное учреждение сред-

няя общеобразовательная школа №571 с углубленным изучением англий-

ского языка Невского района Санкт-Петербурга

Л.Р.Лушпа

Учебно-методическое пособие

Создание базы данных

Санкт - Петербург

2023

Лушпа Л.Р. Создание базы данных. Учебно-методическое пособие = СПб:

ГБОУ школа №571 с углубленным изучением английского языка Невского района –

92с.

Ответственный за выпуск: Григорьев В.Е.

В учебно-методическом пособии изложен курс лекций и практических заданий

по дисциплине Информатика «Создание баз данных».

Пособие предназначено для школьников, студентов всех форм обучения по

всем специальностям».

Утверждено: Учебно – методическим советом Государственное бюджетное

общеобразовательное учреждение средняя общеобразовательная школа №571 с

углубленным изучением английского языка Невского района Санкт-Петербурга

«__20____»_______05_________2024, протокол № __6____.

© Государственное бюджетное общеоб-

разовательное учреждение

средняя общеобразовательная школа

№571 с углубленным изучением англий-

ского языка Невского района Санкт-

Петербурга

© Л.Р.Лушпа

2

ВВЕДЕНИЕ

ВВЕДЕНИЕ..................................................................................................................................................3

ЛЕКЦИЯ 1. БАЗЫ ДАННЫХ. НАЧАЛЬНЫЕ СВЕДЕНИЯ...................................................................4

1.1Сструктура базы данных....................................................................................................................4

1.2. Простейшие базы данных................................................................................................................4

1.3. Свойства полей. Типы полей...........................................................................................................4

1.4. Связанные таблицы..........................................................................................................................6

1.5. Поля уникальные и ключевые.........................................................................................................7

ЛЕКЦИЯ 2. СУБД MICROSOFT ACCESS................................................................................................9

2.1. Объекты microsoft access..................................................................................................................9

2.2. Режимы работы с MICROSOFT ACCESS....................................................................................11

2.3. Таблицы. Создание таблиц............................................................................................................12

2.4. Особенности таблиц баз данных...................................................................................................13

ПРАКТИЧЕСКАЯ РАБОТА №1..........................................................................................................14

СОЗДАНИЕ ТАБЛИЦ В СРЕДЕ MS ACCESS...................................................................................14

ПРАКТИЧЕСАЯ РАБОТА №2.............................................................................................................19

СОЗДАНИЕ БАЗЫ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ МАСТЕРА ТАБЛИЦ, ИМПОРТА ТА-

БЛИЦ. СОЗДАНИЕ ПОЛЕЙ ПОДСТАНОВОК В ТАБЛИЦАХ. СОЗДАНИЕ СВЯЗЕЙ МЕЖДУ

ТАБЛИЦАМИ........................................................................................................................................19

ЛЕКЦИЯ 3. ОТБОР И СОРТИРОВКА ЗАПИСЕЙ С ПОМОЩЬЮ ЗАПРОСОВ..............................26

3.1. Запросы и фильтры.........................................................................................................................26

3.2. Редактирование и анализ данных с помощью запросов.............................................................27

ПРАКТИЧЕСКАЯ РАБОТА №3..........................................................................................................29

СОЗДАНИЕ ЗАПРОСОВ В СРЕДЕ MS ACCESS..............................................................................29

ЛЕКЦИЯ 4. ВЫРАЖЕНИЯ В MS ACCESS............................................................................................42

4.1. Арифметические операторы..........................................................................................................43

4.2. Операторы присваивания и сравнения.........................................................................................44

4.3. Логические операторы...................................................................................................................44

4.4. Операторы слияния строковых значений (конкатенации).........................................................45

4.5. Константы........................................................................................................................................47

4.6. Функции...........................................................................................................................................48

4.7. Анализ данных с помощью запросов............................................................................................50

ПРАКТИЧЕСКАЯ РАБОТА №4..........................................................................................................51

СОЗДАНИЕ СЛОЖНЫХ ЗАПРОСОВ, СОЗДАНИЕ МОДИФИЦИРУЮЩИХ ЗАПРОСОВ В

СРЕДЕ MS ACCESS..............................................................................................................................51

ЛЕКЦИЯ 5. ОСНОВНЫЕ СВЕДЕНИЯ О ФОРМАХ НАЗНАЧЕНИЕ ФОРМЫ ПРИ РАБОТЕ С

БАЗОЙ ДАННЫХ......................................................................................................................................66

ПРАКТИЧЕСКАЯ РАБОТА №5..........................................................................................................68

СОЗДАНИЕ ФОРМ В СРЕДЕ MS ACCESS.......................................................................................68

ЛЕКЦИЯ 6. ОСНОВНЫЕ СВЕДЕНИЯ ОБ ОТЧЕТАХ. НАЗНАЧЕНИЕ И СОЗДАНИЕ ОТЧЕТОВ

.....................................................................................................................................................................84

ПРАКТИЧЕСКАЯ РАБОТА №6 РАБОТА С ОТЧЕТАМИ В СРЕДЕ MS ACCESS.......................86

3

ЛЕКЦИЯ 1. БАЗЫ ДАННЫХ. НАЧАЛЬНЫЕ СВЕДЕНИЯ.

Хранение информации - одна из важнейших функций компьютера. Самым

распространенным средством такого хранения являются базы данных. База данных -

это файл специального формата, содержащий информацию, структурированную за-

данным образом.

1.1Сструктура базы данных

Большинство баз данных имеют табличную структуру. Как мы знаем, в та-

бличной структуре адрес данных определяется пересечением строк и столбцов. В

базах данных столбцы называются полями, а строки - записями. Поля образуют

структуру базы данных, а записи составляют информацию, которая в ней содержит-

ся. Для того чтобы легко усвоить понятие структуры базы данных, надо представить

себе пустую базу, в которой пока еще нет никаких данных. Несмотря на то, что дан-

ных в базе нет, информация в ней все-таки есть. Это структура базы, то есть набор

полей. Они определяют, что будет записано в эту базу, и в каком виде.

1.2. Простейшие базы данных

Простейшие базы можно создавать, не прибегая к специальным программным

средствам. Чтобы файл считался базой данных, информация в нем должна иметь

структуру (поля) и быть форматирована так, чтобы содержимое соседних полей лег-

ко различалось. Простейшие базы можно создавать даже в текстовом редакторе

Блокнот, то есть обычный текстовый файл при определенном форматировании тоже

может считаться базой данных.

1.3. Свойства полей. Типы полей

Поля - это основные элементы структуры базы данных. Они обладают свой-

ствами. От свойств полей зависит, какие типы данных можно вносить в поле, а ка-

кие нет, а также то, что можно делать с данными, содержащимися в поле.

Например, данные, содержащиеся в поле «Цена», можно просуммировать,

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

«Номер телефона», совершенно бессмысленно, даже если номера телефонов записа-

ны цифрами. Очевидно, что эти поля обладают разными свойствами и относятся к

разным типам.

4

Основным свойством любого поля является его длина. Длина поля выражает-

ся в символах или, что, то же самое, в знаках. От длины поля зависит, сколько ин-

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

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

байтах.

Очевидным уникальным свойством любого поля является его Имя. Разумеет-

ся, одна база данных не может иметь двух полей с одинаковым именем, поскольку

компьютер запутается в их содержимом. Но кроме имени у поля есть еще свойство

Подпись. Подпись - это та информация, которая отображается в заголовке столбца.

Ее не надо путать с именем поля, хотя если подпись не задана, то в заголовке отоб-

ражается имя поля. Разным полям, например, можно задать одинаковые подписи.

Это не помешает работе компьютера, поскольку поля при этом по-прежнему сохра-

няют разные имена.

Разные типы полей имеют разное назначение и разные свойства.

1. Основное свойство текстового поля - размер.

2. Числовое поле служит для ввода числовых данных. Оно тоже имеет размер,

но числовые поля бывают разными, например, для ввода целых чисел и для ввода

действительных чисел. В последнем случае кроме размера поля задается также раз-

мер десятичной части числа.

3. Поля для ввода дат или времени имеют тип Дата/время. Для ввода логиче-

ских данных, имеющих только два значения (Да или Нет; 0 или 1; Истина или Ложь

и т. п.), служит специальный тип - Логическое поле. Нетрудно догадаться, что дли-

на такого поля всегда равна 1 байту, поскольку этого более чем достаточно, чтобы

выразить логическое значение.

4. Особый тип поля - Денежный. Из названия ясно, какие данные в нем хра-

нят. Денежные суммы можно хранить и в числовом поле, но в денежном формате с

ними удобнее работать. В этом случае компьютер изображает числа вместе с денеж-

ными единицами, различает рубли и копейки, фунты и пенсы, доллары и центы, в

общем, обращается с ними элегантнее.

5

5. В современных базах данных можно хранить не только числа и буквы, но и

картинки, музыкальные клипы и видеозаписи. Поле для таких объектов называется

полем объекта OLE.

6. У текстового поля есть недостаток, связанный с тем, что оно имеет ограни-

ченный размер (не более 256 символов). Если нужно вставить в поле длинный текст,

для этого служит поле типа MEMO. В нем можно хранить до 65 535 символов. Осо-

бенность поля MEMO состоит в том, что реально эти данные хранятся не в поле, а в

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

7. Очень интересно поле Счетчик. На первый взгляд это обычное числовое

поле, но оно имеет свойство автоматического наращивания. Если в базе есть такое

поле, то при вводе новой записи в него автоматически вводится число, на единицу

большее, чем значение того же поля в предыдущей записи. Это поле удобно для ну-

мерации записей.

1.4. Связанные таблицы

Примеры, которые мы привели выше, можно считать простейшими базами

данных, но на самом деле это не совсем базы, а только таблицы. Если бы информа-

ция хранилась в таких простых структурах, то для работы с ней можно было бы

обойтись без специальных систем управления базами данных. На практике прихо-

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

связанных таблиц.

Базы данных, имеющие связанные таблицы, называют также реляционными

базами данных.

Рассмотрим пример работы малого предприятия, занимающегося закупкой и

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

сколько продуктов каждого наименования осталось на складе, предприятию необхо-

дима база данных. Но если все сведения о покупателях поставщиках и продуктах

хранить в одной таблице, то таблица станет очень неудобной для работы. В ней на-

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

придется вписывать его адрес, телефон и другие данные. Так никто не работает. Это

долго, трудно и чревато многочисленными ошибками. Гораздо удобнее сделать

6

несколько таблиц. В одной хранить сведения о клиентах со всеми их данными, в

другой - сведения о купленных продуктах, чтобы в любой момент узнать, что выда-

но клиенту, и какие документы ему оформить. В третьей таблице - остаток продук-

тов на складе, чтобы вовремя пополнять запасы. После этого отдельные поля таблиц

связывают. Если из таблицы Прокат известно, что клиент НВП взял диск D001, то

система управления базой данных мгновенно найдет в таблице «Клиенты» все пас-

портные данные этого человека, а в таблице «Склад» все данные об этом диске.

Разделение базы на связанные таблицы не только удобно, но иногда и необхо-

димо.

Если данные в разных записях начинают повторяться, это может говорить о

том, что база имеет плохую структуру. Надо подумать о том, нельзя ли разбить та-

блицу на группу связанных таблиц

Если заданы связи между таблицами, то работать с разными таблицами мож-

но, как с одной цельной базой данных

1.5. Поля уникальные и ключевые

Создание базы данных всегда начинается с разработки структуры ее таблиц.

Структура должна быть такой, чтобы при работе с базой требовалось вводить в нее

как можно меньше данных. Если ввод каких-то данных приходится повторять неод-

нократно, базу делают из нескольких связанных таблиц. Структуру каждой таблицы

разрабатывают отдельно.

Для того чтобы связи между таблицами работали надежно, и по записи из од-

ной таблицы можно было однозначно найти записи в другой таблице, надо преду-

смотреть в таблице уникальные поля.

Уникальное поле - это поле, значения в котором не могут повторяться.

Если из таблицы «Заказы» известно, что его обработал сотрудник Иванов. Но

в таблице «Сотрудники фирмы» может быть несколько разных Ивановых, и

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

поле «Фамилия» не является уникальным и потому его нельзя использовать для свя-

зи между таблицами.

7

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

но, как вы понимаете, и одним телефоном могут пользоваться несколько разных лю-

дей.

Если ни одно поле таблицы не приемлемо в качестве уникального, его можно

создать искусственно. В нашем примере в таблице Сотрудники фирмы» создано по-

ле «Код сотрудника», который присваивается с его вводом в базу данных. Его и ис-

пользовали для связи между таблицами.

Скорее всего, поле Код сотрудника окажется уникальным, и проблем со связя-

ми между таблицами не возникнет, но было бы неплохо, если бы компьютер мог

просигнализировать в том случае, если вдруг записи в этом поле повторятся. Для

этого существует понятие ключевое поле. При создании структуры таблиц одно по-

ле (или одну комбинацию полей) можно назначить ключевым. С ключевыми полями

компьютер работает особо. Он проверяет их уникальность и быстрее выполняет сор-

тировку по таким полям. Ключевое поле - очевидный кандидат для создания связей.

Иногда ключевое поле называют первичным ключом.

Если при создании таблицы автор не задал ключевое поле, система управле-

ния базой данных вежливо напомнит о том, что поле первичного ключа таблице не

помешает

В качестве первичного ключа в таблицах часто используют поле, имеющее

тип Счетчик. Ввести два одинаковых значения в такое поле нельзя по определению,

поскольку приращение значения поля производится автоматически

Структура связей между таблицами называется схемой данных. Ключевое по-

ле в схеме данных выделено полужирным шрифтом

Рис. 1.1. Окно схемы данных

8

ЛЕКЦИЯ 2. СУБД MICROSOFT ACCESS

Системы управления базами данных (СУБД) - это программные средства, с

помощью которых можно создавать базы данных, наполнять их и работать с ними.

В мире существует немало различных систем управления базами данных. Многие из

них на самом деле являются не законченными продуктами, а специализированными

языками программирования, с помощью которых каждый, освоивший данный язык,

может сам создавать такие структуры, какие ему удобны, и вводить в них необходи-

мые элементы управления. К подобным языкам относятся Clipper, Paradox, FoxPro и

другие.

Необходимость программировать всегда сдерживала широкое внедрение баз

данных в малом бизнесе. Крупные предприятия могли позволить себе сделать заказ

на программирование специализированной системы "под себя". Малым предприяти-

ям зачастую не по силам было не только решить, но даже и правильно сформулиро-

вать эту задачу.

Положение изменилось с появлением в составе пакета Microsoft Office систе-

мы управления базами данных MS Access. С помощью MS Access обычные пользо-

ватели получили удобное средство для создания и эксплуатации достаточно мощ-

ных баз данных без необходимости что-либо программировать. В то же время рабо-

та с MS Access не исключает возможности программирования. При желании систе-

му можно развивать и настраивать собственными силами. Для этого надо владеть

основами программирования на языке Visual Basic.

Еще одним дополнительным достоинством MS Access является интегрирован-

ность этой программы с Excel , Word и другими программами пакета Office . Дан-

ные, созданные в разных приложениях, входящих в этот пакет, легко импортируют-

ся и экспортируются из одного приложения в другое.

2.1. Объекты microsoft access

Исходное окно MS Access отличается простотой и лаконичностью. Шесть

вкладок этого окна представляют шесть видов объектов, с которыми работает про-

грамма.

9

Рис.2.1. Главное окно базы данных

Таблицы - основные объекты базы данных. С ними мы уже знакомы. В них

хранятся данные. Реляционная база данных может иметь много взаимосвязанных та-

блиц.

Запросы - это специальные структуры, предназначенные для обработки дан-

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

меняют, объединяют, то есть обрабатывают.

Формы - это объекты, с помощью которых в базу вводят новые данные или

просматривают имеющиеся.  Отчеты - это формы "наоборот". С их помощью дан-

ные выдают на принтер в удобном и наглядном виде.

Макросы - это макрокоманды. Если какие-то операции с базой производятся

особенно часто, имеет смысл сгруппировать несколько команд в один макрос и на-

значить его выделенной комбинации клавиш.

Модули - это программные процедуры, написанные на языке Visual Basic.

Если стандартных средств MS Access не хватает для удовлетворения требований за-

10

казчика, программист может расширить возможности системы, написав для этого

необходимые модули или использовать готовые.

2.2. Режимы работы с MICROSOFT ACCESS

С организационной точки зрения в работе с любой базой данных есть два

разных режима: проектировочный и эксплуатационный (пользовательский). Созда-

тель базы имеет право создавать в ней новые объекты (например таблицы), задавать

их структуру, менять свойства полей, устанавливать необходимые связи. Он работа-

ет со структурой базы и имеет полный доступ к базе. У одной базы может быть

один, два или несколько разработчиков.

Пользователь базы - это лицо, которое наполняет ее информацией с помощью

форм, обрабатывает данные с помощью запросов и получает результат в виде ре-

зультирующих таблиц или отчетов. У одной базы могут быть миллионы пользова-

телей, и, конечно, доступ к структуре базы для них закрыт.

1. Взгляните на стартовое окно базы данных. Кроме шести вкладок для основ-

ных объектов оно содержит три командные кнопки:

Открыть, Конструктор, Создать. С их помощью и выбирается режим рабо-

ты с базой.

2. Кнопка Открыть открывает избранный объект. Если это таблица, то ее

можно просмотреть, внести новые записи или изменить те, что были внесены ранее.

3. Кнопка Конструктор тоже открывает избранный объект, но по другому.

Она открывает его структуру и позволяет править не содержимое, а устройство.

Если это таблица, в нее можно вводить новые поля или изменять свойства существу-

ющих полей. Если это форма, в ней можно изменять или создавать элементы управ-

ления. Очевидно, что этот режим служит не для пользователей базы, а для ее разра-

ботчиков.

4. Действие командной кнопки Создать соответствует ее названию. Она слу-

жит для создания новых объектов. Этот элемент управления тоже предназначен для

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

несколькими разными способами: автоматически, вручную или с помощью Мастера.

11

2.3. Таблицы. Создание таблиц

Таблицы - основные объекты базы данных. Без запросов, форм, отчетов и про-

чего можно обойтись, но если нет таблиц, то данные некуда записывать, а значит,

нет и базы. Создание базы начинается с создания первой таблицы.

Создание таблицы состоит в задании ее полей и назначении их свойств. Оно

начинается с щелчка на кнопке Создать в окне База данных.

Есть несколько способов создания новой таблицы, отличающихся уровнем ав-

томатизации:

1. Самый "автоматичный" способ состоит в импорте таблиц из другой базы,

может быть, даже созданной в другой системе. В зависимости от обстоятельств из

импортируемой таблицы может поступить структура полей, их названия и свойства,

а также и содержимое базы. Если что-то импортируется не совсем так, как надо,

необходимые правки (например, в свойства полей) вносят вручную.

2. В тех случаях, когда речь идет о чужой таблице, которая находится на уда-

ленном сервере и которую нельзя импортировать целиком, пользуются режимом

Связь с таблицами. Это напоминает подключение к таблице для совместного ис-

пользования ее данных.

3. Опытные разработчики пользуются Мастером таблиц. Это программа, уско-

ряющая создание структуры таблицы. Мастер задает ряд вопросов и, руководству-

ясь полученными ответами, создает структуру таблицы автоматически. Несмотря на

то, что этот режим служит для упрощения работы, начинающим пользоваться им не

рекомендуется, поскольку, не владея всей терминологией, легко запутаться в вопро-

сах и ответах. Первые таблицы стоит попробовать создать вручную.

4. Пункт Режим таблицы открывает заготовку, в которой все поля имеют фор-

мальные имена: Поле1, Поле2... и т. д. и один стандартный текстовый тип. Такую та-

блицу можно сразу наполнять информацией.

5. Наиболее универсальный, ручной метод предоставляет пункт Конструктор.

В этом режиме можно самостоятельно задать имена полей, выбрать их тип и на-

строить свойства.

12

Для изменения свойств полей надо перейти в режим Конструктор щелчком на

кнопке Вид. Чтобы вставить новое поле, надо установить указатель мыши на маркер

поля и нажать клавишу INSERT. Чтобы удалить поле, его надо выделить и нажать

клавишу DELETE. Закончив создание структуры, можно щелкнуть на кнопке Вид и

перейти в Режим таблицы для заполнения ее данными.

2.4. Особенности таблиц баз данных

Прежде чем мы приступим к изучению приемов работы с таблицами баз дан-

ных, надо обратить внимание на одну особенность всех баз данных, связанную с

сохранением информации.

Обычно с документом в программах можно делать все что угодно, пока не на-

стала пора его сохранять. Испортив неаккуратными действиями исходный доку-

мент, можно отказаться от сохранения и вернуться к работе с прежней копией. В ба-

зах данных это не так.

Таблицы баз данных не являются самостоятельными документами.

Сама база - это документ. Ей соответствует файл на диске, и мы можем сде-

лать его копию. Структура таблиц - тоже документ. В MS Access такого файла нет,

но структура таблиц входит в состав общего файла базы данных наряду с запросами,

формами, отчетами и другими объектами. При изменении структуры таблицы систе-

ма управления базой данных всегда выдает запрос на сохранение изменений.

Но содержание таблиц нельзя сохранить принудительной командой или, нао-

борот, отказаться от его сохранения. Все изменения в таблицах сохраняются автома-

тически в режиме реального времени. Режим реального времени означает, что, пока

мы работаем с таблицей, происходит ее непрерывное сохранение. Как только закан-

чивается ввод данных в одно поле и происходит переход к следующему полю, дан-

ные немедленно записываются на жесткий диск. Эта особенность систем управле-

ния базами данных требует аккуратного отношения к работе с таблицами. Для экс-

периментов надо создавать отдельные копии базы или таблиц и работать с ними.

13

ПРАКТИЧЕСКАЯ РАБОТА №1

СОЗДАНИЕ ТАБЛИЦ В СРЕДЕ MS ACCESS

Цель работы: изучение процесса создания базы данных, создание таблиц различ-

ными способами, определение свойств полей таблиц, заполнение таблиц данными,

редактирование таблиц, сортировка и фильтрация данных в режиме таблицы.

ЧАСТЬ 1

СОЗДАНИЕ

БАЗЫ

ДАННЫХ.

СОЗДАНИЕ

ТАБЛИЦЫ

В

РЕЖИМЕ

КОНСТРУКТОРА.

МОДИФИКАЦИИ

В

РЕЖИМЕ

ТАБЛИЦЫ.

ФИЛЬТРАЦИЯ И СОРТИРОВКА

1.

Создайте новую базу данных «Турагенство».

2.

Создайте таблицу «Туры» в режиме конструктора, задайте типы данных для по-

лей. Поле «Код» назначьте ключевым (уникальным идентификатором записи) с

помощью кнопки «ключевое поле» -

Рис. 1.1. Окно конструктора таблиц

3.

Отредактируйте структуру таблицы так, чтобы страну можно было выбирать из

списка. Это можно сделать двумя способами.

14

1 способ:

Для поля Страна измените тип данных на Мастер Подстановок;

выберите опцию «Будет введен фиксированный набор значений»;

введите повторяющиеся значения стран в 1 столбец

2 способ:

Для поля Страна откройте вкладку Подстановка;

измените Тип элемента управления «Поле» на «Поле со списком»;

выберите Тип источника строк «Список значений»;

в графе Источник строк введите повторяющиеся значения стран через точку с за-

пятой

Рис. 1.2. Вкладка «Подстановка» для выделенного поля

4.

Аналогичным образом отредактируйте поле «Транспорт» (значение поля «само-

лет» можно ввести в графу «По умолчанию»)

15

5.

По кнопке Вид -

перейдите в режим таблицы, сохраните изменения и задайте

имя таблице «Туры». Введите данные по образцу.

Рис. 1.3. Режим таблицы

6.

Измените ширину полей, высоту строк.

7.

Поменяйте местами столбцы «Цена» и «Транспорт».

8.

Скройте столбец «Код»(пункт меню «Формат»/ «Скрыть столбцы»).

9.

Отобразите столбец «Код» (пункт меню «Формат»/ «Отобразить столбцы»).

10.Отсортируйте таблицу «Туры» по странам в алфавитном порядке.

11.Отсортируйте таблицу «Туры» по полю «Цена» в порядке возрастания.

16

12.Используя фильтр по выделенному (установить курсор на поле, которое является

критерием отбора, и нажать кнопку

) выберите

железнодорожные туры;

туры, которые имеют льготы для детей;

туры в Великобританию;

13.Используя «Изменить фильтр» (нажать кнопку

и ввести условия отбора в со-

ответствующие поля) выберите

туры, продолжительностью до 10 дней( ввести условие : <10)

туры в Испанию или Италию (использовать вкладку или в нижнем левом

углу)

туры, стоимость которых находится в интервале от 10 000р. до 20 000р (вве-

сти условие : > 10000 and <20000).

ПРИМЕЧАНИЕ:

Действие фильтра запускается при помощи кнопки Применить фильтр -

Дей-

ствие фильтра отменяется при помощи кнопки Удалить фильтр -

14.Используя фильтр исключить выделенное выберите авиа-туры (команда меню

Записи / Фильтр /Исключить Выделенное)

15.Выполните нормализацию таблицы с помощью Мастера анализа:

выберите пункт меню «Сервис»/ «Анализ»/ «Таблица»;

далее следуя указаниям мастера, выберите таблицу «Туры»;

выберите опцию «Да, разделение полей выполняется мастером»;

переименуйте таблицы;

далее следуйте указаниям мастера.

16.Откройте окно схемы данных при помощи кнопки Схема данных

, которая до-

ступна при активном окне базы данных и посмотрите связи, созданные мастером

17

Рис. 1.4. Окно схемы данных

18

ПРАКТИЧЕСАЯ РАБОТА №2

СОЗДАНИЕ БАЗЫ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ МАСТЕРА ТАБЛИЦ,

ИМПОРТА ТАБЛИЦ. СОЗДАНИЕ ПОЛЕЙ ПОДСТАНОВОК В ТАБЛИЦАХ.

СОЗДАНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ

1.

Создайте новую базу данных «Компьютерный мир»

2.

Создайте таблицы Компьютеры, Принтеры, Мониторы путем импортирова-

ния из файла Компьютеры.xls следующим образом.

Импорт таблиц:

в главном окне базы данных с помощью кнопки «Создать» выберите пункт

«Импорт таблиц» или пункт меню «Файл»/«Внешние данные»/«Импорт» ;

в диалоговом окне «Импорт» укажите тип файла Microsoft Excel (*.xls);

найдите нужный файл , выделите его и нажмите кнопку «Импорт»;

выберите одноименный лист;

следуйте указаниям Мастера импорта электронных таблиц;

Рис. 2.1. Окно импорта таблиц

ПРИМЕЧАНИЕ:

19

Обязательно установите флажок «Первая строка содержит заголовки строк» и оп-

цию «Автоматически создать ключ».

3.

Откройте созданные таблицы в режиме Конструктора и при необходимости от-

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

одинаковые имена. Также не задавайте одинаковые имена других полей (должны

быть поля КодКомпьютера, КодПринтера, НаСкладеК, НаСкладеП и т.д.)

4.

При помощи Мастера Таблиц (кнопка «Создать»/»Мастер таблиц») создайте

таблицу «Клиенты», выбрав необходимые поля.

Рис. 2.2. Окно мастера создания таблиц

4.1. Перейдите в режим Конструктора по кнопке «Вид»:

и проверьте разме-

ры полей.

4.2. Заполните таблицу «Клиенты»

по образцу».

Код

Фирмы

Фирма

Фамилия

Имя

Отчество

Город

Телефон

1

Марс

Чистяков

Владимир

Федорович

Петербург

(812)293-

19-92

2

Сокол

Петров

Петр

Петрович

Петербург

(812)443-

54-25

3

Забава

Ломтин

Аркадий

Аркадье-

Москва

(888)555-

20

вич

66-77

4

Узор

Сидоров

Максим

Максимыч

Минск

(866)

64-

32-28

5

Старт

Федоров

Иван

Федорович

Псков

(865)

76-

67-98

6

Костер

Лаксандрова

Светлана

Игоревна

Сочи

(865)

64-

78-43

5.

Откройте таблицу «Компьютеры» в режиме таблицы и создайте новую запись.

6.

Перейдите в режим Конструктора

6.1. Просмотрите вкладку Подстановка для поля ОЗУ.

6.2. Отредактируйте поле ОЗУ. Выберите тип данных Мастер Подстановок и

введите фиксированный набор значений,

например 8, 16, 32.

6.3. Просмотрите вкладку Подстановка после работы мастера

7.

Перейдите в режим таблицы и добавьте несколько записей. Обратите внимание,

что можно вводить данные и не содержащиеся в списке.

8.

В режиме Конструктора создайте таблицу «Заказы»:

Имя поля

Тип, характеристика

Примечание

НомерЗ

Счетчик,

ключ,

под-

пись- Номер Заказа

Дата

Дата/Время

Установить значение по

умолчанию Date() - те-

кущая дата

Компьютер

Числовое, длинное це-

лое

КолК

Числовое, целое,

Принтер

Числовое, длинное це-

лое

21

КолП

Числовое, целое,

Монитор

Числовое, длинное це-

лое

КолМ

Числовое, целое,

Клиент

Числовое, длинное це-

лое

9.

Отредактируйте структуру таблицы так, модель компьютера, принтера, монитора и

фамилию заказчика можно было выбирать из списка.

9.1.

Для поля «Компьютеры» измените тип на Мастер Подстановок, укажите,

что данные будут выбираться из таблицы «Компьютеры».

9.2.

Выберите поля «Модель», «ОЗУ», «ЦенаК».

9.3.

Спрячьте ключевое поле и далее следуйте советам мастера.

9.4.

Просмотрите вкладку Подстановка после работы мастера. Обратите внима-

ние на номер присоединенного столбца, на число и ширину столбцов. (первый

столбец «КодКомпьютера» спрятан с экрана, но именно эта информация хра-

нится в поле, а не модель компьютера).

Рис. 2.3. Вкладка Подстановка после работы мастера

9.5.

Сохраните таблицу, перейдите в режим таблицы и проверьте работу поля со

списком

22

9.6.

Вернитесь в режим конструктора и на вкладке Подстановка измените ширину

первого столбца. Просмотрите изменения в режиме таблицы.

9.7.

Вернитесь в режим конструктора и на вкладке Подстановка и спрячьте пер-

вый столбец.

10.

Аналогичным образом отредактируйте поле «Монитор».

11.

Подстановку можно осуществлять и без помощи мастера:

11.1.

Для поля ««Принтер» » перейдите на вкладку Подстановка

Рис.2.4. Вкладка Подстановка

Выберите тип элемента управления – Поле со списком

Тип источника строк – Таблица/запрос;

Источник строк Принтеры;

Присоединенный столбец 1;

Число столбцов 5;

Задайте ширину столбцов и ширину списка (ширина первого столбца=0);

Ограничиться списком да;

Заглавия столбцов да;

11.2.

Перейдите в режим таблицы и проверьте работу списка.

12.Аналогичным образом отредактируйте поле «Клиент».

14.Откройте Схему Данных. Обратите внимание, что отображаются связи, установ-

ленные с помощью Мастера Подстановок.

14.1.

Отредактируйте связи:

Выделите связь;

23

Из контекстного меню выберите изменить связь;

Укажите целостность и при необходимости каскадное удаление и добавление

данных;

Рис. 2.5. Окно изменения связей

(Иногда на схеме данных отображаются сразу несколько таблиц, например Компью-

теры, Компьютеры1, Компьютеры2. Простое удаление таблиц как правило не помо-

гает. Необходимо сначала удалить связи, а затем сами таблицы.)

14.2.

Добавьте недостающие таблицы в схему данных( кнопка

на панели инстру-

ментов) и установите связи с таблицей «Заказы».

ПРИМЕЧАНИЕ:

При создании связи между таблицами связываемые поля могут иметь разные

имена. Однако связываемые поля должны иметь одинаковый тип данных, за

исключением случая, когда поле первичного ключа является полем типа

Счетчик. Поле счетчика связывается с числовым полем, если свойство Раз-

мер поля обоих полей имеет значение Длинное целое.

Чтобы установить связи между полями, выберите поле в одной таблице и

перетащите его на соответствующее поле во второй таблице.

24

Рис. 2.6. Окно схемы данных

14.3.

Сохраните схему данных

15. Внесите не менее 20 записей в таблицу «Заказы».

Рис. 2.7.

Таблица «Заказы»

25

ЛЕКЦИЯ 3. ОТБОР И СОРТИРОВКА ЗАПИСЕЙ С ПОМОЩЬЮ

ЗАПРОСОВ

Одним из семи стандартных объектов Microsoft Access является запрос. Запро-

сы используются для просмотра, анализа и изменения данных в одной или несколь-

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

одной или нескольких таблиц и отсортировать их в определенном порядке, выпол-

нить вычисления над группой записей, осуществить выборку из таблицы по опреде-

ленным условиям. Запросы могут служить источником данных для форм и отчетов

Microsoft Access. Сам запрос не содержит данных, но позволяет выбирать данные из

таблиц и выполнять над ними ряд операций. В Microsoft Access существует несколь-

ко видов запросов: запросы к серверу, которые используются для выборки данных с

сервера; запросы на автоподстановку, автоматически заполняющие поля для новой

записи; запросы на выборку, выполняющие выборку данных из таблиц; запросы на

изменение, которые дают возможность модифицировать данные в таблицах (в том

числе удалять, обновлять и добавлять записи); запросы на создание таблицы, созда-

ющие новую таблицу на основе данных одной или нескольких существующих та-

блиц, а также другие типы запросов.

3.1. Запросы и фильтры

Запрос на выборку содержит условия отбора данных и возвращает выборку,

соответствующую указанным условиям, без изменения возвращаемых данных. В

Microsoft Access существует также понятие фильтра, который в свою очередь яв-

ляется набором условий, позволяющих отбирать подмножество записей или сорти-

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

что и в тех и в других производится извлечение подмножества записей из базовой

таблицы или запроса. Однако между ними существуют различия, которые нужно по-

нимать, чтобы правильно сделать выбор, в каком случае использовать запрос, а в ка-

ком — фильтр.

Основные отличия запросов и фильтров заключаются в следующем.

Фильтры не позволяют в одной строке отображать данные из нескольких та-

блиц, т. е. объединять таблицы.

26

Фильтры не дают возможности указывать поля, которые должны отображать-

ся в результирующем наборе записей, они всегда отображают все поля базовой та-

блицы.

Фильтры не могут быть сохранены как отдельный объект в окне базы данных

(они сохраняются только в виде запроса).

Фильтры не позволяют вычислять суммы, средние значения, подсчитывать ко-

личество записей и находить другие итоговые значения.

Запросы могут использоваться только с закрытой таблицей или запросом.

Фильтры обычно применяются при работе в режиме Формы или в режиме Таблицы

для просмотра или изменения подмножества записей.

Запрос можно использовать:

для просмотра подмножества записей таблицы без предварительного открытия

этой таблицы или формы;

для того чтобы объединить в виде одной таблицы на экране данные из несколь-

ких таблиц;

для просмотра отдельных полей таблицы;

для выполнения вычислений над значениями полей.

3.2. Редактирование и анализ данных с помощью запросов

Microsoft Access позволяет не только выбирать нужные данные, но и изменять

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

ми или запросами на изменение. Существует четыре типа запросов на изменение.

Запросы на создание таблицы. Создают таблицы на основе данных, со-

держащихся в результирующем множестве запроса. Чаще всего этот тип использу-

ется для экспорта информации в другие приложения. Кроме того, запросы на созда-

ние таблицы удобно применять для копирования таблиц в другую базу данных. В

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

базирующихся на одном сложном запросе.

27

Запросы на добавление записей позволяют добавить в таблицу создава-

емые запросом записи.

Запросы на обновление изменяют значения полей в записях таблицы,

отобранных с помощью запроса.

Запросы на удаление удаляют из таблицы записи, соответствующие ре-

зультирующему множеству запроса.

Если таблицы содержат большое количество данных, важно не только извлечь

нужные данные, но и как-то обработать их, т. е. представить в виде, удобном для

анализа. В предыдущих версиях Access для этого существовал специальный вид

запросов — перекрестные запросы. В Access 2002 для анализа данных можно при-

менять сводные таблицы — мощное и удобное средство анализа, уже давно прекрас-

но зарекомендовавшее себя в Microsoft Excel. Сводные данные можно теперь пред-

ставить не только в табличном, но и в графическом виде с помощью сводных диа-

грамм.

Более простым способом обработки результирующих данных запроса является

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

в запросе на выборку, определив поля для группировки и используя статистические

функции.

28

ПРАКТИЧЕСКАЯ РАБОТА №3

СОЗДАНИЕ ЗАПРОСОВ В СРЕДЕ MS ACCESS

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

Создание простого запроса с помощью Мастера запросов

Откройте файл Турагенство.mdb

Наиболее просто создается запрос при помощи Мастера запросов. Чтобы со-

здать простой запрос с помощью Мастера запросов, необходимо:

1.

В окне базы данных на панели объектов выбрать ярлык Запросы

2.

В списке запросов дважды щелкнуть левой кнопкой мыши на ярлыке

Создание запроса с помощью мастера или нажать на кнопку Создать в окне базы

данных и в появившемся диалоговом окне Новый запрос выбрать Простой запрос

и нажать на кнопку ОК (рис. 3.1).

Рис. 3.1. Окно создания нового запроса

3.

В появившемся окне Создание простых запросов (рис. 3.1) в поле со

списком Таблицы и запросы выбрать таблицу или запрос, которые будут служить

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

29

Рис. 3.2. Первое диалоговое окно Мастера простых запросов

4.

С помощью стрелок вправо и влево переместить из списка Доступные

поля в список Выбранные поля те поля, которые необходимы в конструируемом

запросе. При этом порядок полей в запросе будет соответствовать порядку полей в

списке Выбранные поля. Если нужно включить в запрос все поля, можно восполь-

зоваться кнопкой с двумя стрелками вправо.

5.

Нажать кнопку Далее.

6.

Следующее диалоговое окно будет последним. В нем нужно ввести имя

создаваемого запроса (рис. 3.2) в поле Задайте имя запроса и выбрать дальнейшие

действия: Открыть запрос для просмотра данных или Изменить макет запроса.

7.

При необходимости можно установить флажок Вывести справку по ра-

боте с запросом? для вывода справочной информации по работе с запросами.

8.

Нажать на кнопку Готово.

30

Рис. 3.3. Окно Мастера простых запросов на втором шаге

По окончании работы Мастера простых запросов в зависимости от выбора

способа дальнейшей работы с запросом откроется или окно запроса в режиме про-

смотра (рис. 3.3), или окно Конструктора запросов, в котором можно модифициро-

вать запрос. В качестве примера построения простого запроса с помощью Мастера

простых запросов рассматривается создание запроса, содержащего все поля таблицы

«Тур». результатом работы Мастера запросов стал запрос "Тур Запрос", изображен-

ный на рис. 3.4.

Рис. 3.4. Окно запроса в режиме просмотра

9.

Перейдите в режим Конструктора по кнопке Вид

.

31

Появляется окно Конструктора запросов (рис. 3.5). В верхней части окна отоб-

ражается таблица (или несколько таблиц, если запрос многотабличный) в том виде,

в каком таблицы отображаются в окне Схема данных.

Таблицы — источники данных для запроса, мы будем называть базовыми та-

блицами запроса. В нижней части окна находится бланк запроса — таблица, ячейки

которой используются для определения запроса. В бланке отображаются все столб-

цы, включенные в результирующее множество запроса.

Для того чтобы просматривать полностью бланк запроса и все исходные та-

блицы, используют линейки прокрутки.

В области панелей инструментов MS Access отображается панель инструмен-

тов Конструктор запросов.

Рис. 3.5. Окно запроса в режиме конструктора

10.

Задайте условие отбора туров, имеющих льготы для детей: в графе

Условие отбора в поле Льготы для детей введите «да», в графе Вывод на экран

снимите галочку (рис. 3.6).

Рис. 3.6. Условия отбора в бланке запроса

32

11.

Просмотрите результат выполнения запроса в режиме Таблицы по

кнопке Вид

.

12.

Закройте запрос.

Создание запроса с помощью конструктора

А теперь рассмотрим, как создать новый запрос с помощью Конструктора

запросов. Для этого необходимо:

1.

В окне базы данных на панели объектов выбрать ярлык Запросы

2.

В списке запросов выбрать ярлык Создание запроса в режиме

конструктора или нажать кнопку Создать, в появившемся окне Новый запрос вы-

брать Конструктор и нажать на кнопку ОК.

3.

В окне Добавление таблицы (см. рис. 3.7) выбрать одну или несколько

таблиц или запросов для построения нового запроса и нажать кнопку Добавить Для

удобства выбора таблиц и запросов в окне существуют следующие вкладки: Табли-

цы, на которой отображается список таблиц; Запросы, на которой отображается

список запросов; Таблицы и запросы, на которой отображается список таблиц и

запросов вместе.

Рис. 3.7. Окно Добавление таблицы Конструктора запросов

4.

После добавления всех необходимых таблиц нажать кнопку Закрыть в

окне Добавление таблицы. Все выбранные таблицы оказываются помещенными на

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

т. е. связи присутствуют явно на схеме данных, то эти связи также отображаются

33

(рис. 3.8). Если связи на схеме данных не установлены, то Конструктор запросов ав-

томатически устанавливает связи между таблицами, если они содержат поля, кото-

рые имеют одинаковые имена и согласованные типы .

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

Внимание

Иногда Конструктор устанавливает лишние связи, основываясь только на

именах и типах полей. Это может привести к некорректным результатам запро-

са, поэтому нужно обязательно проверять, как отображаются связи между та-

блицами в окне Конструктора запросов, и удалить вручную лишние связи. Для этого

выделите лишнюю связь, щелкнув по ней левой кнопкой мыши, и нажмите клавишу

<Delete>.

5.

Удалите лишнюю связь, как указано выше.

6.

Затем нужно указать, какие поля из базовых таблиц будут отображаться

в запросе. Включать в запрос можно поля из любой таблицы. Способов включения

полей в запрос существует несколько:

1.

Выделите нужное поле в таблице-источнике (можно выделить несколь-

ко полей, пользуясь клавишами <Shift> и <Ctrl>). Если требуется включить в запрос

все поля базовой таблицы, выделите поле, обозначенное звездочкой (*). Дважды

щелкните левой кнопкой мыши на выделенном поле. При этом в бланке запроса по-

явится столбец, соответствующий выбранному полю.

34

2.

Для добавления всех полей можно сделать двойной щелчок левой кноп-

кой мыши по строке заголовка таблицы, подвести указатель мыши к выделенной си-

ним цветом области и «перетащить» в бланк запроса все поля.

3.

Можно подвести указатель мыши к выделенному полю (одному из вы-

деленных полей), нажать на левую кнопку мыши и перетащить поле (поля) в нужное

место бланка запроса (указатель мыши при этом должен принять вид трех прямо-

угольников). Последний способ позволяет помещать поля в любое место бланка

запроса.

4.

И наконец, вместо перетаскивания полей в бланк запроса из таблицы

можно просто использовать раскрывающийся список полей в строке Поле бланка

запроса

7.

Включите в запрос поля в соответствии с примером (рис. 3.9).

Рис. 3.9. Бланк запроса

8.

Просмотрите результат выполнения запроса в режиме Таблицы

по

кнопке Вид

.

9.

Закройте запрос, сохранив его, в диалоговом окне Сохранение введите

имя запроса «Ж/д туры».

35

Рис. 3.10. Диалоговое окно Сохранение запроса

10.

Посмотрите, как отображаются созданные запросы в окне Базы данных.

Рис. 3.11. Вкладка Запросы в окне Базы данных

Создание запроса с параметром

Запрос в Access является объектом, который сохраняется в файле базы данных

и может многократно повторяться. Все запросы, которые мы создавали до сих пор,

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

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

жиме Конструктора, изменить условие и выполнить. Чтобы не делать многократно

этих операций, можно создать запрос с параметрами. При выполнении такого запро-

са выдается диалоговое окно Введите значение параметра, в котором пользователь

может ввести конкретное значение и затем получить нужный результат.

1.

Создайте новый запрос в режиме Конструктора аналогичный предыду-

щему.

36

2.

Чтобы определить параметр запроса, введите в строку Условие отбора

для столбца "Страна" вместо конкретного значения слово или фразу и заключите их

в квадратные скобки, например [Введите страну]. Эта фраза будет выдаваться в виде

приглашения в диалоговом окне при выполнении запроса (рис. 3.12).

Рис. 3.12. Диалоговое окно Введите значение параметра

3.

Нажмите кнопку Запуск

на панели инструментов, чтобы выполнить

запрос, или откройте запрос в режиме таблицы по кнопке Вид. При выполнении

запроса появляется диалоговое окно Введите значение параметра, в которое нуж-

но ввести конкретное значение, например «Испания». Результат выполнения запро-

са представлен на рис. 3.13. В него попадают только туры в Испанию.

Рис. 3.13. Результат выполнения запроса с параметром

В одном запросе можно ввести несколько параметров. При выполнении такого

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

Введите значение параметра в том порядке, в котором параметры перечислены в

бланке запроса.

Запросы с вычисляемыми полями

В запросах, в отличие от таблиц над полями могут производиться вычисле-

ния.

При этом могут использоваться как

арифметические выражения

так и

встроенные функции ACCESS . Вычисляемое поле, включенное в запрос позволяет

получить новое поле с результатами вычислений только в таблице запроса и не со-

здает полей в таблицах БД.

37

Сформировать выражение можно при помощи Построителя выражений, ко-

торый запускается из контекстного меню, связанного со строкой Условие отбора

на бланке или при помощи соответствующей кнопке на панели инструментов

.

При составлении выражений имена полей заключаются в квадратные скобки, сим-

вольные константы - в кавычки, имена объектов БД отделяются от полей "!" .

Примеры вычисляемых полей

Стоимость: [Товары]![Цена]*[Продажи]![Количество]

Клиенты: [Клиенты]![Фамилия] & ‘‘ ’’&[ Клиенты]![Имя]& ‘‘ ’’& [Кли-

енты]![Отчество]

Общие сведения о построителе выражений

Окно построителя выражений состоит из трех разделов, располагающихся

сверху вниз.

Рис. 3.14. Окно построителя выражений

Поле выражения. В верхней части окна построителя расположено поле, в ко-

тором создается выражение. Ниже находится раздел, предназначенный для созда-

ния элементов выражения и их последующей вставки в поле выражения. Допускает-

ся непосредственный ввод части выражения в поле выражения.

Кнопки операторов. В средней части окна построителя находятся кнопки с

часто используемыми операторами. При нажатии на одну из этих кнопок построи-

тель вставит соответствующий оператор в текущую позицию поля выражения. Что-

38

бы вывести полный список операторов, выберите папку Операторы в нижнем ле-

вом поле и нужный тип в среднем поле. В правом поле будут выведены все операто-

ры выбранного типа.

Элементы выражения. В нижней части окна построителя находятся три по-

ля.

В левом поле выводятся папки, содержащие таблицы, запросы, формы,

объекты базы данных, встроенные и определенные пользователем функции,

константы, операторы и общие выражения. Если запрос сохранен в памяти, по-

строитель выражений открывает по умолчанию этот запрос и в среднем поле до-

ступны поля запроса.

В среднем поле задаются определенные элементы или типы элементов

для папки, заданной в левом поле. Например, если выбрать в левом поле Встроен-

ные функции, то в среднем поле появится список всех типов функций Microsoft

Access.

В правом поле выводится список значений (если они существуют) для

элементов, заданных в левом и среднем полях. Например, если выбрать в левом по-

ле Встроенные функции и тип функции в среднем, то в правом поле будет выведен

список всех встроенных функций выбранного типа.

Создание запроса в вычисляемыми полями:

1.

Прежде чем мы создадим запрос с выражением, откройте таблицу «Тур»

в режиме Конструктора и добавьте поле «Заказано» числового типа, размер поля –

байт.

2.

Перейдите в режим Таблицы, сохранив изменения структуры таблицы и

заполните поле произвольными числами ( от 1 до 20).

3.

Создайте

запрос

на

основе

таблицы

«Тур».

Включите

поля

«Страна_Код» (обратите внимание, что это поле подстановки), «Цена» и «Заказа-

но».

4.

Сохраните запрос под именем «Сумма заказов»( это можно сделать по

кнопке Сохранить

, не закрывая запрос).

39

5.

Установите курсор в свободном столбце бланка запроса в графе Поле и

вызовите Построитель выражений кнопкой Построить

или пункт Построить

контекстного меню.

6.

Введите выражение [Цена] * [Заказано] в Поле выражения (поля встав-

ляются двойным щелчком мыши или выделить поле и нажать кнопку Вставить), и

нажмите кнопку «ОК».

7.

Будет вставлено Выражение1: [Цена]*[Заказано], безликое «Выраже-

ние1» замените на «Сумма».

Рис. 3.15. Бланк запроса с вычисляемым выражением

8.

Просмотрите результат выполнения запроса.

Задание для самостоятельной работы

1.

Создайте запрос, отображающий туры, которые не имеют льготы для де-

тей.

2.

Создайте запрос, отображающий туры,

продолжительностью до 10

дней.

3.

Создайте запрос, отображающий туры в Великобританию.

4.

Создайте запрос, отображающий туры в Испанию или Италию.

5.

Создайте запрос, отображающий туры, стоимость которых находится в

интервале от 10 000 до 20 000 .

6.

Создайте запрос, отображающий железнодорожные туры в Германию

Примечание

40

В строке Условие отбора и в строке ИЛИ (Or) указываются условия отбора

записей. Такими условиями могут быть логические выражения. Например, (>30),

(='Иванов'), (=10) и т. п.

Условия, находящиеся в одной строке, но в разных столбцах бланка, объеди-

няются по логическому оператору And (И). Если нужно объединить условия отбора

по логическому оператору Or (ИЛИ), разместите эти условия в разных строках

бланка запроса. Пример использования нескольких условий отбора приведен на рис.

3.16

Рис. 3.16. Задание критериев отбора записей в запросе

41

ЛЕКЦИЯ 4. ВЫРАЖЕНИЯ В MS ACCESS

Выражения активно используются в запросах для описания критериев выбор-

ки записей

Каждое выражение может содержать один или несколько операторов и одну

или несколько констант, идентификаторов или функций. Выражение может быть

сколь угодно сложным.

Константы характеризуют неизменные значения. Их часто исполь-

зуют для создания значений по умолчанию и для сравнения значений в полях та-

блиц. Значения констант определяются пользователем при вводе выражения.

(Например, 09, страна фирмы изготовителя Швеция.)

Идентификаторы — это имена объектов в MS Access (например, по-

лей таблиц или запросов), которые при вычислении выражений заменяются их теку-

щими значениями (для определения этой операции обычно используется термин

«возвращают»). Например, идентификатор имени поля [Фамилия] в выражении

возвращает значение поля Фамилия из текущей выделенной записи. Именованные

константы и переменные, применяемые в программах Visual Basic для приложений

(VBA), тоже являются идентификаторами. Существует несколько встроенных

именованных констант, служащих идентификаторами: True, False, Yes, No И Null.

Внимание

Если имя поля или таблицы содержит пробелы, его идентификатор обязан в

выражении заключаться в квадратные скобки. Чтобы упростить ввод идентифи-

каторов, рекомендуется не использовать пробелы в названиях таблиц, полей в та-

блицах и названиях других объектов MS Access.

Функции возвращают в выражение значение вместо имени функции. В

отличие от идентификаторов, большинство функций требуют заключать в скобки

свои аргументы — идентификаторы или значения подвыражений. Например, функ-

ция Date (), имеющая пустой список аргументов, возвращает текущую дату.

Операторы обычные значки арифметических операций (+, -, *, /) и

другие символы и аббревиатуры. Большинство из них эквивалентны операторам

традиционных языков программирования типа Basic. Некоторые — специфичны для

42

MS Access или SQL, например Between

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

константы, идентификаторы и функции называются операндами.

Для создания выражений в MS Access существует шесть категорий операто-

ров: арифметические, операторы присваивания, логические операторы, операторы

конкатенации, идентификации и сравнения с образцом.

4.1. Арифметические операторы

Арифметические операторы, как следует из названия, выполняют сложение,

вычитание, умножение и деление. Арифметические операторы оперируют только с

числовыми значениями и должны, за исключением унарного минуса, иметь два чи-

словых операнда.

В табл.4.1 приведен список арифметических операторов для выражений MS

Access.

Таблица 4.1. Арифметические операторы

В таблице отсутствует знак равенства (=), поскольку он отнесен к группе опе-

раторов присваивания и сравнения.

43

4.2. Операторы присваивания и сравнения

Обычно в качестве оператора присваивания значения объекту, переменной

или константе используется знак равенства (=). Например, выражение =Now() может

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

ет как оператор присваивания. С другой сторону, знак = представляет собой опера-

тор сравнения, определяющий, равны ли два операнда.

Оператор сравнения соотносит значения двух операндов и возвращает логиче-

ские значения (True или False), соответствующие результату сравнения. Основное

назначение операторов сравнения — создание условий на значение, установление

критериев выборки записей в запросах, определение действий макросов и контроль

выполнения программ в VBA. В табл. 4.2 приведен список операторов сравнения

MS Access.

Таблица 4.2. Операторы сравнения

Оператор

Пример

Результат

Описание

<

1 < 100

True

Меньше

<=

1 <= 1

True

Меньше либо равно

=

1 = 100

False

Равно

>=

100 >= 1

True

Больше либо равно

>

100 > 100

False

Больше

<>

1 <> 100

True

Не равно

Примечание

Если один из операндов имеет значение Null (пустое значение), то любое"

сравнение возвращает значение Null (тоже пустое значение).

44

4.3. Логические операторы

Логические (булевы) операторы используются для объединения результатов

двух или более выражений сравнения в единое целое:

And — конъюнкции (логического И);

Or — дизъюнкции (логического ИЛИ);

Not — логического отрицания;

Хог — исключающего ИЛИ;

Eqv — логической эквивалентности;

Imp — логической импликации.

Они могут состоять только из выражений, возвращающих логические значе-

ния True, False или Null. В противном случае выполняется побитовое сравнение. Ло-

гические операторы всегда требуют двух операндов, за исключением Not — логиче-

ского эквивалента унарного минуса.

4.4. Операторы слияния строковых значений (конкатенации)

Стандартный значок оператора конкатенации SQL, амперсант (&), является

более предпочтительным, чем значок плюса (+), хотя оба они приводят к одинаково-

му результату: объединению двух текстовых значений в единую строку символов.

Применение значка плюс (+) двусмысленно, его основное назначение — сложение

двух числовых операндов.

Пример: слияние "Visual" & " Basic" дает "Visual Basic". Обратите внимание

на дополнительный пробел во втором слове, без него результат выглядел бы

несколько иначе: "VisualBasic".

Операторы идентификации

Операторы идентификации применяются в качестве разделителей в ссылках

на объекты (оператор "!" ).

Эти операторы позволяют идентифицировать определенные поля в таблицах.

Например:

Forms!Категории, Tables ! Категории — идентификация формы и та-

блицы с одинаковыми именами;

45

[Клиенты]![Фамилия] — определяет поле " Фамилия в таблице "

Клиенты

[Заказы]![ДатаНазначения] - идентификатор поля "ДатаНазначения",

находящегося в таблице "Заказы.

Операторы сравнения с образцом

Остальные операторы MS Access (табл. 4.3) упрощают создание выражений

для выборки записей в запросах и относятся к операторам сравнения с образцом.

Эти операторы возвращают True или False, в зависимости от соответствия значения

в поле выбранной спецификации оператора. Наличие этих операторов в условиях на

значение позволяет либо включать запись в запрос, если логическое значение, воз-

вращаемое выражением, равно True, либо отвергать, если это значение — False.

Таблица 4.3. Другие операторы, используемые в выражениях MS Access

Оператор

Пример

Описание

Between

Between

(-100)

And

(100)

Определяет, находится ли числовое зна-

чение в определенном диапазоне значе-

ний

Is

Is Null

Is Not Null

При использовании вместе с Null опре-

деляет, является ли значение Null или

Not Null

In

In ("Москва", "Киев",

"Санкт-Петербург")

Определяет, является ли строковое зна-

чение элементом списка значений

Like

Like "Ив*" Like "db??"

Определяет, начинается ли строковое

значение с указанных символов (для

правильной работы Like нужно добавить

символ шаблона "*" или один или

несколько символов "?")

46

Для пользователей, знакомых с шаблонами командной строки DOS, примене-

ние знаков (символов шаблона) "*" и "?" в операторах Like не вызовет затруднений.

Точно так же, как в DOS, символ "*" замещает любое число знаков, а символ шабло-

на "?" замещает только один знак, поэтому Like "Ив*" вернет True для значений

"Иванов", "Иващенко", "Иволгин". Для "dbl" или "dbl00" значение оператора Like

"db??" будет False, но тот же оператор вернет для "dbl0" и "dbXX" значение True.

Символы шаблона "*" и "?" могут стоять в любом месте шаблонной строки, . напри-

мер:

Like "*ms* . ?*" — возвращает True только для значений, содержащих в

своем теле подстроку "ms", после которой (может быть сразу, а может быть через

несколько символов) следует не менее двух символов, первый из которых точка (.);

Like "?1???*" — возвращает True только для значений, состоящих не ме-

нее чем из пяти символов, вторым из которых является "1".

4.5. Константы

MS Access различает три вида констант: числовые, строковые и константы да-

ты и времени.

Числовыми константами называются последовательности цифр, и, при

необходимости, символы знака числа (+) и (-), символ десятичной точки (.) и, для за-

писи числа в экспоненциальной нотации, символы порядка (Е) или (е). Для положи-

тельного числа знак (+) необязателен.

Пример записи числовых констант: 12345; -12.345; -6.76Е-23.

Строковыми или текстовыми константами называются любые симво-

лы, возвращаемые функцией Chr$ (), и их комбинации. Функция Chr$ (} возвращает

символ в кодировке таблицей кодов ANSI, которой пользуется Windows. Кроме пе-

чатаемых символов, в которые входят буквы, цифры, знаки пунктуации и другие

специальные символы клавиатуры, например "@", "~" и т. п., результатом функции

могут быть и управляющие символы, такие как символ табуляции <ТаЬ>, возврат

каретки и перевод строки, аналогичный по результату нажатию клавиши <Enter> и

др. Печатаемые символы должны быть заключены в двойные прямые кавычки. Ча-

47

сто, например при вводе строковых констант в ячейки таблиц или бланки запросов,

MS Access сам добавляет кавычки, в иных случаях это придется сделать вручную.

Пример записи строковых констант : "Москва", "Иванов",

Константы даты/времени в MS Access выделяются символами #. Как и

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

или времени в стандартном формате MS Access, эти символы будут добавлены авто-

матически.

Пример констант даты и времени: #26/04/75#, #22-Маг-74#, #10:35:30#.

4.6. Функции

Функция так же, как и идентификатор, используется для возвращения значе-

ния в точку вызова. Значение, возвращаемое функцией, определяется ее типом,

например функция NOW () возвращает дату и время часов компьютера. Синтаксиче-

ски функция выделяется круглыми скобками, следующими сразу же за ее идентифи-

катором. Многие функции требуют наличия аргументов, которые записываются в

этих скобках через запятую при обращении к функции. Функции можно использо-

вать для создания нового выражения или функции.

Встроенные в MS Access функции можно сгруппировать по категориям (имен-

но так они сгруппированы в специальном инструменте, помогающем правильно со-

здавать сложные выражения, который называется Построитель выражений)

Статистические функции

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

вычисления всевозможных итоговых значений, например для числового поля табли-

цы можно вычислить среднее значение или сумму значений для всех или отобран-

ных записей, можно посчитать количество записей, возвращаемых запросом.

Описание этих функций, а также типов полей, к которым они могут быть при-

менены, приведено в табл. 4.

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

в запро

сах Access

Функция

Типы полей

Описание

48

Avg()

Все типы полей, исключая

Текстовый, Поле Memo и

Поле объекта OLE

Вычисляет арифметическое среднее набора

чисел, содержащихся в указанном поле

запроса

Count ( )

Все типы полей

Вычисляет количество непустых записей,

возвращаемых запросом

First ( )

Все типы полей

Возвращает значение поля из первой запи-

си результирующего набора

Last ()

Все типы полей

Возвращает значение поля из последней

записи результирующего набора

Max()

Все типы полей, исключая

Текстовый, Поле Memo и

Поле объекта OLE

Возвращает максимальное значение из на-

бора, содержащегося в указанном поле

Min()

Все типы полей, исключая

Текстовый, Поле Memo и

Поле объекта OLE

Возвращает минимальное значение из на-

бора, содержащегося в указанном поле

StDev()

StDevP()

Все типы полей, исключая

Текстовый, Поле Memo и

Поле объекта OLE

Возвращают смещенное и несмещенное

значение среднеквадратичного отклонения,

вычисляемого по набору значений, содер-

жащихся в указанном поле

Sum( )

Все типы полей, исключая

Текстовый, Поле Memo и

Поле объекта OLE

Возвращает сумму набора значений, содер-

жащихся в заданном поле

Var()

VarP ( )

Все типы полей, исключая

Текстовый, Поле Memo и

Поле объекта OLE

Возвращают значение смещенной и не сме-

щенной дисперсии, вычисляемой по набору

значений, содержащихся в указанном поле

Использование статистических функций для расчета итоговых значений тесно

связано с применением групповых операций в запросе. Групповые операции позво-

ляют задать группы, для которых выполняются вычисления.

49

4.7. Анализ данных с помощью запросов

Еще одной функцией запросов Access является анализ данных, которые рас-

пределены по разным таблицам. Анализ данных может выполняться с помощью:

перекрестных запросов, которые позволяют выполнить некоторую обра-

ботку таблиц с целью получения сводных данных;

статистических функций, которые позволяют выполнять различного ро-

да расчеты;

мастеров, которые позволяют отыскать в таблице повторяющиеся запи-

си и записи, для которых отсутствуют подчиненные записи в связанной таблице;

сводных таблиц и сводных диаграмм — аналогов соответствующих

средств Excel.

Перекрестные запросы это запросы, в которых происходит статистическая

обработка данных, результаты которой выводятся в виде таблицы, очень похожей на

сводную таблицу Excel. Перекрестные запросы обладают следующими достоинства-

ми:

возможностью обработки значительного объема данных и вывода их в

формате, который очень хорошо подходит для автоматического создания графиков

и диаграмм;

простотой и скоростью разработки сложных запросов с несколькими

уровнями детализации.

Перекрестные запросы удобны для представления данных в виде таблицы, но

т. к такая таблица часто имеет разное количество столбцов, на них довольно сложно

строить отчеты.

50

ПРАКТИЧЕСКАЯ РАБОТА №4

СОЗДАНИЕ СЛОЖНЫХ ЗАПРОСОВ, СОЗДАНИЕ МОДИФИЦИРУЮЩИХ

ЗАПРОСОВ В СРЕДЕ MS ACCESS

Цель работы: изучение процесса создания сложных запросов, использующих

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

Запросы с выражениями

1. Откройте базу данных «Шоколад».

2. Создайте запрос, отображающий количество изделий с вишневой начинкой

( вишневый крем и целая ягода вишни), используя оператор LIKE в поле «Сорт на-

чинки».

3. Создайте запрос, отображающий кондитерские изделия с названием, начи-

нающимся на «К», используя оператор LIKE в поле «Название».

4. Создайте запрос, отображающий стоимость заказов на каждое изделие, ис-

пользуя выражение: СуммаЗаказа: [Стоимость]*[Заказ]. Включите в запрос все поля

таблицы «Изделия». Поля «Стоимость» и «Заказ» на экран не выводите ( снимите

галочку «Вывод на экран» в бланке запроса). Назовите запрос «Общая сумма зака-

зов».

5. Создайте запрос с параметром, отображающий конфеты по вводимому при

открытии запроса сорту начинки, используя в условии отбора выражение LIKE [Ка-

кой сорт начинки] & ”*”. Откройте запрос в режиме таблицы. Обратите внимание,

что для ввода параметра можно набрать только начальные буквы.

6. Создайте запрос, отображающий количество изделий, стоимость которых

составляет менее 100 р.

7. Создайте запрос, отображающий количество изделий, стоимость которых

находится в интервале от 100 до 125 р.

51

Запросы с использованием статистических функций

Первый запрос, который мы предлагаем построить, должен ответить на во-

прос: "Конфеты с каким шоколадом пользуются большим спросом?". Воспользуем-

ся уже существующим в базе «Шоколад» запросом «Общая сумма заказов»

1.

Создайте новый запрос в режиме конструктора.

2.

В открывшемся окне «Добавление таблицы» перейдите на вкладку

«Запросы» и выберите запрос «Общая сумма заказов».

Рис.4.1. Диалоговое окно «Добавление таблицы»

3.

Перетащите в бланк заказа поля «Шоколад_Код» и «СуммаЗаказа».

4.

Нажмите кнопку Групповые операции

на панели инструментов. В

бланк запроса добавляется строка Групповая операция, содержащая по умолчанию

в каждой ячейке операцию Группировка.

5.

Теперь нужно в строке Групповая операция задать необходимые стати-

стические функции. Для поля « Шоколад_Код» оставьте значение Группировка,

для поля «СуммаЗаказа»выберите из списка функцию Sum (рис. 4.2).

52

Рис.4.2. Использование статистических функций в запросе

6.

Нажмите кнопку Запуск на панели инструментов, чтобы посмотреть ре-

зультаты запроса. Вы получите таблицу, которая содержит список сортов шоколада,

и для каждого сорта указывается общая сумма заказов на изделия с этим сортом шо-

колада (рис. 4.3).Из таблицы видно, что самая большая сумма заказов - на изделия с

молочным шоколадом.

Рис.4.3. Результат выполнения запроса

7.

Закройте запрос, сохранив eго под именем "Итоги по сорту шоколада".

8.

Создайте аналогичный запрос и определите среднюю и минимальную

стоимость конфет по сорту шоколада .

9.

Создайте аналогичный запрос "Итоги по сорту начинки".

10.

Создайте новый запрос на основе таблицы «Изделия»

53

11.

Включите в бланк запроса два раза поле «Начинка_Код». Для одного по-

ля оставьте значение Группировка, для другого поля выберите из списка функцию

Count .

12.

Посмотрите результаты выполнения запроса. Вы получите таблицу, ко-

торая содержит список начинок, и для каждого сорта указывается количество кон-

фет с этой начинкой (рис. 4.4).

Рис.4.4. Результат выполнения запроса с использованием функции Count

13.

Создайте аналогичный запрос с группировкой по сорту ореха.

14.

Создайте запрос с группировкой, в результате выполнения которого бу-

дет подсчитана общая сумма заказов по всем изделиям.

Модифицирующие запросы

Создание таблиц с помощью запроса

С помощью этого вида запроса вы можете выбрать нужные данные из уже су-

ществующей таблицы с помощью обычного запроса на выборку, а затем поместить

их в новую таблицу, структура которой определяется структурой записей результи-

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

запроса состоит из трех шагов:

1.

Создать запрос на выборку.

2.

Преобразовать запрос на выборку в запрос на изменение, задав парамет-

ры размещения новой таблицы.

54

3.

Выполнить запрос на изменение, тем самым поместив отобранные запи-

си в новую таблицу.

Создадим запрос на создание таблицы, в которую поместим изделия, заказы

на которые меньше 5 единиц.

1.

Откройте запрос, отображающий количество изделий, стоимость кото-

рых составляет менее 100 р. в режиме «Конструктора», выделив его имя в списке

запросов в окне базы данных и нажав кнопку Конструктор.

2.

Удалите в бланке запроса критерий выборки: <100, в столбце «Заказ»

добавьте условие <5.

Преобразование запроса на выборку в запрос на изменение

Чтобы создать таблицу из результатов запроса, использовавшегося для отбора

записей в связанных таблицах, его нужно преобразовать из запроса на выборку в

запрос на изменение. Для этого:

1.

Выберите команду меню Запрос, Создание таблицы [Меню Запрос до-

ступно только в режиме Конструктора запроса.] или щелкните по стрелке на

кнопке Тип запроса

на панели инструментов и выберите из списка тип Создание

таблицы (рис. 4.5).

Рис. 4.5. Меню Тип запроса

Диалоговое окно Создание таблицы показано на рис. 4.6.

2.

В текстовом поле имя таблицы введите описательное имя для новой та-

блицы, например: «Изделия_мал_спрос».

Нет рисунка

Рис. 4.6. Диалоговое окно Создание таблицы

Внимание

55

В базе данных Access не должно быть таблицы и запроса с одинаковыми име-

нами.

4.

Нажмите кнопку Вид

на панели инструментов и просмотрите ре-

зультат выборки. Вы увидите записи, которые будут помещены в новую таблицу.

Выполнение запроса на изменение

Выполнение запроса на изменение приведет к появлению новой таблицы с за-

писями, которые будут идентичны результирующему набору записей того запроса

на изменение, который был создан на первом этапе.

Для выполнения запроса:

1.

Нажмите кнопку Запуск

на панели инструментов При этом он не

отображает результирующий набор записей в режиме таблицы, как это делает

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

ся сообщение, которое предупреждает, что в новую таблицу будут внесены измене-

ния.[Хотя таблица еще не создана.]

Внимание

Одно из важных правил во время работы с запросами на изменение — нужно

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

Дело в том, что исправления, внесенные запросами на изменение, необратимы, к

тому же часто нелегко обнаружить записи, измененные ошибочным запросом.

2.

Подтвердите выполнение операции, нажав кнопку Да .Появится второе

сообщение, показывающее число записей, которые будут помещены в новую табли-

цу в результате выполнения запроса (рис. 4.7).

Рис. 4.7. Предупреждающее сообщение о числе новых записей

3.

Поскольку запрос запускается впервые, будет создана новая таблица

"«Изделия_мал_спрос».

56

4.

Сохраните и закройте запрос. Теперь в окне базы данных ему соответ-

ствует другой значок, который сопровождается восклицательным знаком

, это

означает, что запрос является запросом на изменение.

5.

Можно запустить запрос двойным щелчком мышки на его имени в окне

базы данных.

6.

Щелкните по ярлыку Таблицы в окне базы данных и убедитесь, что в.

списке появилось новое название таблицы.

7.

Дважды щелкните мышью по значку этой таблицы, чтобы ее открыть.

Она содержит те же данные, что и запрос на создание таблицы в режиме таблицы

(рис. 4.8.).

Рис. 4.8. Таблица, созданная при помощи запроса

Внимание

Запрос на создание таблицы может использоваться многократно для созда-

ния временных таблиц, при этом каждый раз будет создаваться новая таблица и

удаляться старая.

Создание запросов на добавление данных

В качестве примера мы рассмотрим запрос, который будет выбирать из базы,

все изделия с кофейным кремом, которые например, временно сняты с производства

и переносить их в другую таблицу так, чтобы таблица "Изделия"содержала только

актуальные данные. Для этого сначала создадим таблицу, которая будет хранить

устаревшие данные:

1.

Раскройте список таблиц в окне базы данных и выделите таблицу "Изде-

лия".

2.

Скопируйте таблицу в буфер обмена, нажав комбинацию клавиш

<Ctrl>+<C> или команду «Копировать» контекстного меню.

57

3.

Вставьте таблицу из буфера обмена, нажав комбинацию клавиш

<Ctrl>+<V> или команду «Вставить» контекстного меню. Появляется диалоговое

окно Вставка таблицы.

Рис. 4.9. диалоговое окно Вставка таблицы

4.

В группе Параметры вставки выберите переключатель «Только

структура».

5.

В поле имя таблицы введите имя, например «Изделия(архив)». На-

жмите кнопку ОК или клавишу <Enter>.

В списке появляется новая таблица, пока пустая, т. к. мы скопировали только

структуру таблицы .Теперь создадим запрос на добавление, который позволит пере-

нести в новую таблицу данные из таблицы "Изделия".

1.

Раскройте список таблиц в окне базы данных и выделите в нем таблицу

"Изделия".

2.

Сначала создайте запрос на выборку нужных записей. Перетащите из

списка полей таблицы " Изделия " все поля в строку бланка запроса Поле, а из та-

блицы «Начинка» поле «Сорт начинки»

3.

В строке Условие отбора столбца «Сорт начинки» введите условие от-

бора "Кофейный крем"

4.

Запустите запрос на выборку, чтобы проверить, правильно ли отобраны

записи. Оказались отобранными 5 записей.

5.

Выберите команду Запрос, Добавление или щелкните левой кнопкой

мыши по стрелке на кнопке Тип запроса и выберите из списка элемент Добавле-

ние. Появляется диалоговое окно Добавление, аналогичное диалоговому окну Со-

здание таблицы (рис. 4.10).

58

6.

В поле имя таблицы необходимо выбрать из списка имя таблицы, в ко-

торую будут добавляться записи. В данном случае по умолчанию в нем указана та-

блица "Изделия (архив)", которую мы только что создали. Нажмите кнопку ОК.

(Если бы таблица, в которую нужно добавить записи, находилась в другой базе дан-

ных, необходимо было бы выбрать переключатель в другой базе данных и затем в

поле имя файла указать имя файла MDB, который содержит требуемую таблицу.)

Рис. 4.10. Диалоговое окно Добавление

8.

В бланке запроса на добавление появляется дополнительная строка До-

бавление, содержащая названия полей таблицы, в которую добавляются записи. В

данном случае названия полей запроса и названия полей таблицы совпадают, поэто-

му по умолчанию вся эта строка заполнена. Если имена полей не совпадают, необхо-

димо выбрать из раскрывающегося списка в строке Добавление имя поля результи-

рующей таблицы, соответствующего полю в исходной таблице.

9.

Нажмите кнопку Запуск, чтобы выполнить запрос. Прежде чем новые

записи будут добавлены в таблицу, Access выдает сообщение о числе записей, кото-

рые предполагается добавить. Вы можете нажать кнопку Да, и только после этого

записи будут добавлены. Если вы нажмете кнопку Нет, вставка записей будет отме-

нена.

10.

Сохраните запрос, дав ему имя: «Добавление».

Замечание

Если записи добавляются в таблицу, которая уже непуста, то наиболее ча-

сто встречающейся ошибкой при выполнении этого запроса является попытка

вставить записи, у которых значение первичного ключа совпадает с ключами уже

59

имеющихся в ней записей. Такие записи вставлены не будут, будет только выдано

сообщение об их количестве.

Создание запросов на обновление таблиц

Запросы на обновление используются главным образом для того, чтобы вне-

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

Классическим примером такого запроса является изменение цены в таблице "Изде-

лия" на некоторый постоянный коэффициент, например можно увеличить цену на

изделия на 20%. Чтобы создать такой запрос:

1.

Сначала создайте запрос на выборку. Перетащите из списка полей та-

блицы " Изделия " все поля в строку бланка запроса Поле.

2.

Теперь изменим запрос, превратив его в запрос на обновление. Для этого

выполните команду меню Запрос, Обновление или выберите при помощи кнопки

Тип запроса. Изменяется заголовок запроса и появляется дополнительная строка

Обновление. При этом исчезают строки Сортировка и Вывод на экран (рис. 4.11).

3.

Теперь нужно в строку Обновление ввести выражение, по которому бу-

дет вычисляться новая цена: [Стоимость]*0,2. В других случаях можно вводить

константу, например, если нужно поменять дату во многих записях на текущую.

4.

Теперь можно выполнить запрос. Для этого нажмите кнопку Запуск на

панели инструментов. Так же, как и при добавлении записей в таблицу, Microsoft

Access выдаёт сообщение о количестве обновляемых записей и запрашивает под-

тверждение на обновление. Вы можете подтвердить обновление записей или отверг-

нуть.

5.

Сохраните запрос, дав ему имя: «Обновление».

Рис. 4.11. Диалоговое окно Обновление

Совет

60

Прежде чем выполнять запрос на обновление, щелкните левой кнопкой мыши

по стрелке на кнопке Вид и выберите Режим таблицы. Вы увидите все записи, ко-

торые будут обновлены, хотя данные в обновляемых полях будут еще старые. И

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

В приведенном примере изменялись значения в поле, которое не является пер-

вичным ключом в таблице "Изделия". Особый случай возникает, когда требуется об-

новить значение первичного ключа в таблице. Если эта таблица связана отношением

"один-ко-многим" с другими таблицами, то при изменении первичного ключа запи-

си должны одновременно измениться значения внешних ключей во всех связанных

записях подчиненных таблиц. Microsoft Access обеспечивает выполнение такого из-

менения автоматически, т. к. поддерживает каскадное обновление записей. При

определении связи между таблицами можно установить флажок каскадное обнов-

ление связанных полей. Если такой флажок установлен, то при изменении значе-

ния первичного ключа в главной таблице MS Access автоматически выполняет спе-

циальный запрос, с помощью которого обновляются внешние ключи всех связанных

записей в подчиненной таблице.

Создание запросов на удаления записей

Запросы на удаление записей позволяют отобрать требуемые записи и удалить

их за один прием. Принцип создания такого запроса аналогичен созданию запроса

на обновление, однако, удаляя записи из связанных таблиц, необходимо помнить о

том, что при этом не должна нарушаться целостность данных.

Если две таблицы связаны отношением "один-ко-многим", нельзя удалять за-

писи из таблицы "один" если в таблице "многие" присутствуют соответствующие им

записи. Сначала должны быть удалены записи в таблице "многие" и только потом —

соответствующие им записи в таблице "один". Для того чтобы упростить этот про-

цесс, MS Access позволяет при определении связей между таблицами установить

флажок каскадное удаление связанных записей.

Для примера создадим запрос на удаления изделий с темным шоколадом.

61

1.

Создайте сначала запрос на выборку на основании двух таблиц: «» и,

включите все поля таблицы «Изделия» с помощью * и поле «Сорт шоколада» та-

блицы «Шоколад».

2.

Преобразуйте запрос на выборку в запрос на удаление записей любым

способом. В бланке запроса появится строка Удаление(рис. 4.12).. В первом столбце

строки Удаление показывается значение Из, которое указывает, что будут удалять-

ся записи из таблицы " Изделия ". Во втором столбце строки Удаление вы видите

значение Условие что указывает на использование этого столбца для определения

критерия отбора удаляемых записей. Введите в графу «Условия отбора» значение

«темный».

Рис. 4.12. Бланк запроса на Удаление

3.

Откройте запрос в режиме таблицы (кнопка «Вид») и убедитесь, что бу-

дут удалены именно записи с темным шоколадом

4.

Нажмите кнопку Запуск. Выводятся сообщение с приглашением под-

твердить удаление записей и информация о количестве записей, которые будут уда-

лены. В этот момент еще можно отменить удаление, для чего достаточно нажать

кнопку Нет в окне сообщения. Нажмите кнопку Да, подтверждая удаление. Будут

удалены все изделия с темным шоколадом и соответствующая строка из таблицы

«Шоколад». Вы можете убедиться в этом, если откроете таблицу "Изделия" и та-

блицу «Шоколад».

62

5.

Сохраните запрос, дав ему имя: «Удаление».

Внимание

Такое каскадное удаление записей возможно, если в схеме данных установлен

флажок - каскадное удаление связанных записей. Если удаления не произойдет,

откройте схему данных и измените параметры связи.

Перекрестные запросы

В качестве примера сформируем перекрестный запрос для вывода общей сум-

мы заказов на изделия по сортам ореха и шоколада.

1.

Создайте новый запрос в режиме Конструктора и добавьте в него табли-

цы «Изделия», «Шоколад» и «Орех».

2.

Перетащите поля «Сорт шоколада»

из таблицы «Шоколад», затем

«Сорт ореха» из таблицы «Орех» и поле «Заказы» из таблицы «Изделия» в первые

три столбца бланка запроса.

3.

Выберите команду меню Запрос, Перекрестный или выберите Пере-

крестный при помощи кнопки Тип запроса. Заголовок окна запроса «Запрос1:на

выборку» изменится на «Запрос1 перекрестный запрос» .Кроме того, в бланк

запроса будут добавлены строки Перекрестная таблица и Групповая операция, в

которую во всех столбцах автоматически вводится операция Группировка (рис.

4.13).

4.

Выберите в списке ячейки Перекрестная таблица столбца «Сорт оре-

ха» значение Заголовки строк.

5.

Выберите в списке ячейки Перекрестная таблица столбца «Сорт шо-

колада» значение Заголовки столбцов..

6.

Выберите в списке ячейки Групповая операция столбца «Заказы» опе-

рацию Sum, ), а затем в ячейке Перекрестная таблица — значение Значение .

63

Рис. 4.13. Бланк перекрестного запроса

7.

Нажмите кнопку Запуск или откройте запрос в режиме таблицы.

8.

Сохраните запрос.

Перекрестные запросы можно создавать на основе таблицы или запроса, ис-

пользуя режим мастера. Для этого при создании запроса надо сразу выбрать тип

запроса Перекрестный ( рис 4.14),затем следовать указаниям мастера.

Рис. 4.14. Диалоговое окно Новый запрос

9.

Создайте аналогичный запрос на основе запроса «Общая сумма зака-

зов», используя режим мастера. В качестве заголовков строк используйте поле

«Сорт ореха», заголовков столбцов «Сорт шоколада», в качестве Итога – сумму по

полю «Стоимость»

64

Рис. 4.15. Окно Мастера перекрестных таблиц

10.

Просмотрите результат - рис 4.16. Обратите внимание на столбец «Ито-

говое».

Рис. 4.16. Перекрестная таблица

65

ЛЕКЦИЯ 5. ОСНОВНЫЕ СВЕДЕНИЯ О ФОРМАХ

НАЗНАЧЕНИЕ ФОРМЫ ПРИ РАБОТЕ С БАЗОЙ ДАННЫХ

Формы являются основным средством организации интерфейса пользователя

в приложениях MS ACCESS .Формы можно создавать с различными целями:

Вывод и редактирование данных. Это наиболее распространенная сфе-

ра применения форм. Формы обеспечивают вывод на экран данных в выбранном ва-

ми представлении.

Ввод данных. Вы можете создавать формы, предназначенные только для

ввода в БД новой информации или значений.

Вывод сообщений. Формы могут предоставлять вспомогательную ин-

формацию о работе приложения или предстоящих действиях.

Управление ходом выполнения приложения. Чтобы автоматизировать

вывод определенных данных или выполнение некоторой последовательности дей-

ствий вы можете создать формы для работы с другими формами, отчетами, макроса-

ми и процедурами VBA. Для этого обычно используют элементы управления, назы-

ваемые командными кнопками.

Печать информации. Хотя для печати информации чаще всего исполь-

зуются отчеты, вы можете распечатать форму вместе с содержащейся в ней инфор-

мацией.

Данные, приведенные в форме, берутся из полей базовой таблицы. Связь меж-

ду формой и источником данных могут обеспечивать элементы управления, напри-

мер, поля. Форму можно просматривать в трех режимах:

Форма для работы с несколькими таблицами

Access позволяет создавать формы, которые отображают данные из несколь-

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

именований. Поэтому, данные в таблице «Типы» будут находиться на стороне отно-

шения «один», а в таблице «Товары» — на стороне «многие». Например, можно со-

здать подчиненную форму для вывода данных из таблиц «Типы» и «Товары». Когда

главная форма отображает тип «Напитки», подчиненная форма отображает только

те товары, которые входят в заданный тип. Главная форма основана на таблице с

66

первичным ключом, а на связанной с ней другой таблице — подчиненная форма.

Подчиненная форма располагается внутри главной. Главная форма может содержать

одну или несколько подчиненных форм. Можно создавать подчиненные формы до

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

ной формы, а другую подчиненную форму внутри этой подчиненной формы и т.д.

Например, можно иметь главную форму, отображающую сведения о клиентах, под-

чиненную форму, отображающую сведения о заказах, и еще одну подчиненную

форму, отображающую сведения о заказанных товарах.

При использовании формы с подчиненной формой для ввода новых записей

текущая запись в главной форме сохраняется при входе в подчиненную форму. Это

гарантирует, что записи из таблицы на стороне «многие» будут иметь связанную за-

пись в таблице на стороне «один». Это также автоматически сохраняет каждую за-

пись, добавляемую в подчиненную форму. Главная форма может отображаться

только как простая форма. Подчиненная форма может отображаться в виде таблицы,

или в виде простой или ленточной формы. Предусмотрено несколько вариантов со-

здания подчиненной формы: одновременно с главной или создание сначала подчи-

ненной формы, которую добавляют в существующую, можно создать форму с двумя

подчиненными формами.

67

ПРАКТИЧЕСКАЯ РАБОТА №5

СОЗДАНИЕ ФОРМ В СРЕДЕ MS ACCESS

Цель работы: изучение процесса создания форм с использованием мастеров и в ре-

жиме конструктора, области формы. Редактирование элементов формы. Режимы

формы. Свойства формы. Создание главной и подчиненной формы

Автоформы

Автоматический и самый быстрый способ создания однотабличных форм - ав-

тоформа.

Откройте созданную ранее базу данных «Компьютерный мир».

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

I способ :

1.

Перейдите на вкладку Таблицы

2.

Выделите таблицу «ЗАКАЗЫ»

3.

Нажмите кнопку

- «новый объект: автоформа » на панели инструментов.

4.

Сохраните готовую автоформу.

II способ:

1.

Перейдите на вкладку Формы.

2.

Нажмите кнопку Создать на вкладке формы.

3.

Выберите тип автоформы – в столбец.

4.

Укажите в качестве источника данных таблицу «КЛИЕНТЫ».

5.

Нажмите кнопку OK.

6.

Сохраните готовую автоформу.

68

Рис. 5.1. Диалоговое окно Создание формы

Создание табличной автоформы

Создайте автоформу на основе таблицы «КОМПЬЮТЕРЫ»

1.

Нажмите кнопку Создать на вкладке Формы

2.

Выберите тип автоформы – табличная

3.

Укажите в качестве источника данных таблицу «КОМПЬЮТЕРЫ»

4.

Кнопка OK

5.

Сохраните готовую автоформу

Создание ленточной автоформы

Создайте ленточную автоформу на основе таблицы «МОНИТОРЫ»

1.

Нажмите кнопку Создать на вкладке формы

2.

Выберите тип автоформы – ленточная

3.

Укажите в качестве источника данных таблицу «МОНИТОРЫ»

4.

Кнопка OK

5.

Сохраните готовую автоформу

Доработка формы в режиме конструктора

1.

Откройте созданную ранее форму «Компьютеры».

2.

Преобразуйте созданную автоформу к виду:

Рис. 5.2. Форма после доработки

3.

Для этого перейдите в режим Конструктора формы.

69

Рис. 5.3. Форма в режиме конструктора

4.

Увеличьте область заголовка и примечания формы.

5.

Воспользуйтесь Панелью Элементов (меню Вид или соответствующая кноп-

ка

на панели инструментов) для добавления новых элементов управления в

форму:

Рис. 5.4. Панель элементов

5.1 В области заголовка разместите Надпись(кнопка

).

5.2 В области примечания разместите кнопки перехода между записями и

кнопку закрытия формы ( кнопка

).

70

Кнопка вы-

деления

всей формы

Рис. 5.5. Форма в режиме конструктора

6.

Измените расположение полей в области данных:

Для изменения размера или положения элемента его необходимо предвари-

тельно выделить. Если указатель мыши принимает форму раскрытой ладони можно

перетащить элемент (надпись и поле) в новое место. Перетащить поле и присоеди-

ненную к нему надпись можно независимо друг от друга, когда указатель мыши

принимает форму сжатой ладони (с вытянутым указательным пальцем). Для выделе-

ния нескольких элементов необходимо удерживать нажатой клавишу <Shift>. Чтобы

выровнять элементы по размеру или расположению можно воспользоваться пунк-

том меню Формат

7.

Поле «Код» можно убрать с экрана , но не удалять ( иначе будет нельзя до-

бавлять новые записи).

Для этого выполните щелчок правой клавишей мыши по полю и выберите

пункт Свойства или нажмите кнопку

-Свойства), на вкладке Макет выберите

пункт Вывод на экран и установите Нет

8.

Добавьте рисунок.

Для этого воспользуйтесь пунктом меню Вставка/Рисунок или кнопкой

-

Рисунок на Панели Элементов.

Если рисунок очень большой, выберите на вкладке Макет окна Свойства -

Вписать в рамку.

9.

Вставьте поле «Всего» для вычисления общей стоимости компьютеров те-

кущей модели:

На панели Элементов воспользуйтесь кнопкой

Поле, выполните щелчок

правой кнопкой мыши по созданному полю, (но не по надписи этого поля) – выбе-

рите Свойства/Вкладка Данные/Кнопка - … в строке Данные

При помощи Построителя выражений вставьте формулу см. рис.4.5.

10. Просмотрите изменения в режиме формы.

11. Измените размер формы, так чтобы помещались все кнопки и все поля, но

не было пустого пространства.

12. Перейдите в режим конструктора и измените свойства формы.

71

13.

Правой кнопкой мыши щелкните по кнопке выделения формы- см.рис.5.3-выберите Свой-

ства /Вкладка Макет

Рис. 5.6. Окно свойств формы

Создание сложной формы

1.

Создайте форму «Продажи»:

Рис. 5.7. Образец формы

1.1.Создайте автоформу в столбец «Компьютеры вспомогательная» на основе та-

блицы «Компьютеры» и доработайте в режиме Конструктора.

Рис. 5.8. Автоформа «Компьютеры»

72

1.2.Уберите кнопки переходов (Свойства- вкладка Макет) и добавьте кнопку за-

крытия формы.

1.3.Создайте аналогичные автоформу в столбец «Мониторы вспомогательная» на

основе таблицы «Мониторы» и автоформу в столбец «Принтеры вспомога-

тельная» на основе таблицы «Принтеры».

2.

Создайте запрос «Заказ», вычисляющий стоимость заказа и включающий количе-

ство товара на складе (соответствующие поля в таблицах «Заказы», «Компью-

тер», «Монитор», «Принтер»).

Рис. 5.9. Бланк запроса «Заказ»

2.1. Для стоимости заказа постройте выражение, используя поля запроса

Рис. 5.10. Выражение «Стоимость заказа» в окне Построителя

73

2.2.При помощи Мастера форм на основе запроса «Заказ», создайте форму «Про-

дажи».

2.3.Поля «Код компьютера», «Код принтера» и «Код монитора» преобразуйте в

Поле со списком (для этого выделите поле, пункт меню Формат

или

контекстное меню - Преобразовать элемент в

- поле со списком) и со-

здайте поля подстановок.

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

ров и мониторов на складе.

3.

Доработайте форму в режиме Конструктора.

Рис. 5.11. Форма «Продажи» в режиме Конструктора

3.1. Измените расположение полей.

3.2.При помощи панели Элементов создайте кнопку «Данные о компьютере»,

позволяющую получить подробные данные о выбранной модели компьютера:

3.2.1. Добавьте кнопку.

3.2.2. В окне Категории выберите - работа с формой.

3.2.3. В окне Действия - Открыть форму для отобранных записей.

3.2.4. Выберите форму «Компьютеры вспомогательная».

3.2.5. Выберите опцию – Открыть форму для отобранных записей.

3.2.6. Для формы «Продажа» укажите поле КодК, Для формы «Компьютеры

вспомогательная»- Код компьютера.

3.2.7. Нажмите кнопку

74

3.2.8. Внесите текст – Данные о компьютере

3.3.Создайте кнопки «Данные о принтере» и «Данные о мониторе».

4.

Создайте кнопки перехода между записями и закрытия формы. Просмотрите

свойства любой кнопки перехода между записями и обратите внимание, что на

вкладке «Другие» указана всплывающая подсказка. Аналогичным образом мож-

но создавать вплывающую подсказку и для всех остальных элементов формы.

5.

Добавьте более подробную информацию о клиенте.

5.1.Так как эта информация не была предварительно добавлена в запрос, измени-

те свойства всей формы:

5.1.1. Кнопка выделения формы.

5.1.2. Команда Свойства.

5.1.3. Вкладка Данные.

5.1.4. Строка Источник записей.

5.1.5. Кнопка …

5.1.6. Откроется окно конструктора запроса. Добавьте в бланк запроса по об-

разцу поля «Город» и «Телефон» из таблицы «Клиент».

5.2.Закройте запрос, подтвердив изменения.

5.3.Воспользуйтесь кнопкой список полей или меню Вид –Список полей и пере-

тащите поля «Город» и «Телефон» в область данных формы

5.4.При помощи панели Элементов добавьте прямоугольник вокруг данных о за-

казчике.

5.5.Сохраните форму.

6.

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

пись.

7.

Создайте форму «Заказы».

75

Рис. 5.12. Форма «Заказы»

7.1.На основе запроса «Заказ» при помощи мастера создайте форму «Заказы» (не

используйте поля «Город» и «Телефон»).

7.2.Перейдите в режим Конструктора и доработайте форму.

Последний столбец показывает количество товара на складе (в дальнейшем он будет

спрятан).

7.3.

Измените свойства поля «Компьютер», так чтобы была видна модель

компьютера и ОЗУ

7.4.

Выделите поле «КодК»

7.5.

Свойства

7.6.

Вкладка Данные

7.7.

Строка Источник строк

7.8.

Кнопка …

7.9.

Откроется окно Конструктора запроса.

7.10. Создайте вычисляемое поле «Компьютер», включающее модель компьютера

и ОЗУ и удалите лишние поля

Создание формы с вкладками в режиме конструктора

Откройте созданную ранее базу данных «Отдел кадров».

Если форма должна содержать большое количество данных , можно восполь-

зоваться кнопкой Набор Вкладок на панели Элементов и создать форму, подобную

76

окну Параметры меню Сервис и разместить данные на вкладках, как показано на

рис:

Рис. 5.13. Форма с вкладками. Вкладка «Анкета»

Рис. 5.14. Вкладка «Работа»

Рис. 5.15. Вкладка «Стаж»

1.

Доработайте таблицу Сотрудники: добавьте поле «Фото» (поле ole, файлы

с фотографиями находятся в папке «Фото»).

77

Для добавления фотографий откройте таблицу «Сотрудники» в режиме таблицы и

одновременно откройте папку «Фото».

Расположите оба окна без перекрытий.

Перетащите файлы с фотографиями в соответствующие ячейки таблицы (в та-

блице должна появиться надпись «точечный рисунок»)

Можно вставить фотографии в таблицу другим способом : пункт меню

«Вставка», «Объект», в диалоговом окне «Вставка объекта» указать нужный файл.

Рис. 5.16. Диалоговое окно «Вставка объекта»

2.

Для будущей формы создайте Запрос на выборку, включив все поля таблиц

«Сотрудники» и «Штат», сохраните его под именем «Для формы с вкладками».

3.

Перейдите на вкладку Формы и нажмите кнопку Создать

4.

Выберите Конструктор

5.

Укажите в качестве источника данных запрос «Для формы с вкладками»

При создании формы в режиме конструктора форма будет содержать только

область данных (серая сетка), границы которой можно изменять. Для добавления в

форму Заголовка или Примечания необходимо воспользоваться командами меню

Вид

78

6.

Воспользуйтесь кнопкой

-Набор вкладок на панели Элементов. Перво-

начально количество вкладок две. Вкладку можно добавить или удалить, при помо-

щи контекстного меню, получаемого при щелчке правой кнопки мыши по имени

вкладки. Переименовать вкладку можно в окне Свойства, вызываемого контекстным

меню или кнопкой

- Свойства на панели инструментов(вкладка Макет, Подпись).

Рис. 5.17. Окно « Свойства вкладки»

7.

Воспользуйтесь кнопкой

-Список полей или командой меню Вид- Спи-

сок полей и разместите поля на вкладках.

Рис. 5.18. Форма с вкладками в режиме Конструктора

8.

Расположите поля соответствующим образом, поменяйте размер шрифта,

удалите лишние надписи.

9.

Добавьте вкладку.

79

10. Переименуйте вкладки.

11. На вкладку «Стаж» добавьте новый элемент – Подчиненная форма/от-

чет с помощью соответствующей кнопки на панели элементов -

, растянув рамку

на всю ширину вкладки.

12. В открывшемся диалоговом окне выберите опцию – Имеющиеся формы

и выделите в списке форму «Выслуга подчиненная форма».

13. Доработайте форму в режиме Конструктора (удалите надпись, настройте

ширину )

Создание подчиненной формы

Access позволяет создавать формы, которые отображают данные из несколь-

ких связанных таблиц.

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

«Штат» и «Сотрудники». Когда главная форма отображает должность таблицы

«Штат», подчиненная форма отображает сотрудников, которые находятся на этой

должности.

Главная форма основана на таблице с первичным ключом, а на связанной с

ней другой таблице — подчиненная форма. Подчиненная форма располагается вну-

три главной. Главная форма может содержать одну или несколько подчиненных

форм. Можно создавать подчиненные формы до семи уровней вложенности, т.е.

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

ную форму внутри этой подчиненной формы и т.д. Например, можно иметь главную

форму, отображающую сведения о должностях, подчиненную форму, отображаю-

щую сведения о сотрудниках, и еще одну подчиненную форму, отображающую све-

дения о записях в трудовой книжки этих сотрудников

1.

Откройте базу данных «Отдел кадров».

2.

Перейдите на вкладку Формы

3.

На вкладке Формы нажмите кнопку Создать и выберите Мастер форм.

4.

Выберите в качестве источника данных таблицу «Сотрудники».

80

Рис. 5.19. Диалоговое окно Мастера создания формы

5.

Перенесите все поля таблицы «Сотрудники» в правую часть.

Рис. 5.20. Выбор полей формы в Мастере создания формы

6.

Не нажимая кнопку Далее, аналогичным образом выберите таблицу «Вы-

слуга» и перенесите все поля в правую часть.

7.

Если все сделано в указанной последовательности, мастер сам предложит

тип представления данных – Подчиненные формы.

81

Рис. 5.21. Тип представления данных

В противном случае укажите в качестве главной таблицу «Сотрудники ОК».

8.

Доработайте форму в режиме Конструктора.

Внимание

Обратите внимание, что Мастер создал две формы: «Сотрудники» и «Выслуга под-

чиненная форма».

Создание кнопочной формы

1.

Перейдите на вкладку Формы

2.

На вкладке Формы нажмите кнопку Создать и выберите Конструктор.

3.

Поле - «Выберите в качестве источника данных таблицу или запрос»

оставьте пустым.

4.

Увеличьте границы области данных .

5.

Расположите кнопки открытия созданных форм с помощью соответствую-

щей кнопки -

на панели элементов, следуя указаниям мастера.

82

Рис. 5.22. Диалоговое окно Мастера создания кнопок

6.

Выберите стиль для созданной формы, используя Автоформат –пункт ме-

ню Формат/ Автоформат или кнопка

на панели инструментов

7.

{bmc новый-5.bmp}.

8.

Сохраните форму с именем «Главная».

9.

Измените параметры запуска- пункт меню Сервис / Параметры Запуска.

10. Укажите форму «Главная» в окне «Вывод формы/страницы»

Примечание

Параметры запуска приложения позволяют предусмотреть открытие главной

кнопочной формы сразу при открытии файла БД. Можно запретить пользователю

работать со стандартным окном базы данных и тогда пользователь сможет выпол-

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

83

ЛЕКЦИЯ 6. ОСНОВНЫЕ СВЕДЕНИЯ ОБ ОТЧЕТАХ.

НАЗНАЧЕНИЕ И СОЗДАНИЕ ОТЧЕТОВ

Отчетом называется организованная и отформатированная информация, взя-

тая из базы данных и предназначенная для вывода на печать. Он может иметь вид

таблицы или оформлен по разработанной пользователем свободной форме. Отчет

позволяет задать критерии, согласно которым извлекается информация из базы дан-

ных.

Его

можно

дополнить

рисунками,

диаграммами,

комментариями.

В отчете можно группировать и сортировать данные, представить данные на диа-

грамме, вычислить итоговое значение, например, определить выручку, полученную

от продажи товаров на определенную дату. Отчеты позволяют задать внешний вид

отображения информации в отпечатанном виде. Их можно использовать для анализа

данных и передачи их в другие организации. Отчет можно отправить по электрон-

ной почте, опубликовать в Интернете.

Отчеты создаются на основе одной или нескольких взаимосвязанных таблиц

или запросов.

Отчет может создаваться в режиме Конструктора или с помощью Мастера От-

четов.

Кроме этого имеется возможность создания Автоотчетов, которые строятся

мастером автоматически без использования диалога с пользователем. Это самый бы-

стрый способ построения отчета. Существуют несколько видов автоотчетов:

Автоотчет в столбец — позволяет отобразить поля отчета в столбик;

Автоотчет ленточный — позволяет расположить имена полей в виде

заголовков столбцов таблицы, а записи в ее строках;

Мастер диаграмм — предоставляет большие возможности при состав-

лении отчета, в который можно вставить диаграммы;

Почтовые наклейки — запускает мастера создания наклеек.

Режим Конструктора Отчетов очень похож на режим Конструктора Форм. Во

многих случаях удобно использовать Мастер Отчетов. Созданный мастером отчет

можно доработать в режиме Конструктора.

84

В процессе конструирования отчета формируется состав и содержимое разде-

лов отчета, размещение в нем значений, выводимых из полей связанных таблиц БД

формируются заголовки, размещаются вычисляемые поля. Средства конструирова-

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

уровня может производиться вычисление итогов, определяться заголовки и приме-

чания

Наличие разделов отчета определяется командами меню:

Вид- Колонтитулы

Вид – Заголовок / Примечание отчета

При необходимости группировки записей по полю используется команда ме-

ню Вид – Группировка и сортировка или соответствующая кнопка на панели

инструментов. В примечаниях группы могут быть размещены выражения для подве-

дения итогов по группе.

85

ПРАКТИЧЕСКАЯ РАБОТА №6

РАБОТА С ОТЧЕТАМИ В СРЕДЕ MS ACCESS

Цель работы: изучение процесса построения отчетов при помощи Мастера отчетов

и последующей корректировки в режиме Конструктора. Создание итоговых отчетов.

Автоотчеты

1.

Откройте созданную ранее базу данных «Компьютерный мир».

2.

На основе таблицы «Компьютеры» создайте Автоотчет в столбец.

Рис. 6.1. Автоотчет в столбец

2.1.Перейдите в режим Конструктора и отредактируйте ширину полей.

Рис. 6.2. Автоотчет в режиме Конструктора

86

2.2.

При помощи команды меню Файл – Параметры страницы

– вкладка

Столбцы установите количество столбцов-2 и подберите ширину столбца.

Рис. 6.3. Автоотчет в 2 столбца

3.

На основе таблицы «Принтеры» создайте Автоотчет ленточный.

3.1.Перейдите в режим Конструктора и добавьте вычисляемое поле в области

данных:

Рис. 6.4. Вычисляемое поле

Надпись «Стоимость» разместите в области колонтитула.

Рис. 6.5. Автоотчет после доработки

87

3.2.Добавьте группировку по типу принтера. Выделите поле и надпись красным

цветом

Рис. 6.6. Автоотчет с группировкой

3.3.Создайте группировку по полю тип принтера при помощи пункта меню Вид

– Сортировка и группировка или одноименной кнопки

на панели инстру-

ментов.

Рис. 6.7. Окно «Сортировка и группировка»

3.4.Отредактируйте отчет в режиме Конструктора.

3.4.1. Перенесите поле «Тип» и надпись «Тип» в заголовок группы.

3.4.2. Измените надпись «Тип» на «Тип принтера».

3.4.3. Отформатируйте поле и надпись.

3.4.4. Удалите нижний колонтитул.

3.5.Добавьте вычисляемое поле «Итого» в конце каждой группы - количество

принтеров в каждой группе.

88

Рис. 6.8. Вычисляемое поле «Итого»

3.6.В области примечания группы добавьте поле и надпись.

3.7.Скопируйте поле и надпись «Итого» в область примечания отчета -общее ко-

личество принтеров.

Создание отчета с помощью мастера

1.

Создайте запрос «Заказы компьютеров»:

Рис. 6.9. Выражение «Компьютер» в бланке Запроса

1.1.Создайте выражение «Компьютер».

1.2.Создайте вычисляемое выражение «Стоимость».

Рис. 6.10. Запрос «Заказы компьютеров» в режиме просмотра

89

2.

При помощи Мастера на основе таблицы «Клиенты» и запроса «Заказы компью-

теров» создайте отчет.

Рис. 6.11. Отчет по клиентам

2.1.Из таблицы «Клиенты» выберите поля : «Фирма», «Город», «Телефон», «Фа-

милия», «Имя», «Отчество».

2.2.Из запроса «Заказы компьютеров» выберите все поля.

2.3.Задайте группировку по Клиенту.

Рис. 6.12. Окно Мастера отчетов

2.4.В диалоговом окне «Итоги» установите Итог по Стоимости.

90

Рис. 6.13. Диалоговое окно «Итоги» Мастера отчетов

2.5.Отредактируйте отчет в режиме Конструктора.

3.

Создайте итоговый отчет при помощи мастера на основе таблицы «Клиенты» и

запроса «Заказы компьютеров».

Рис. 6.14. Итоговый отчет по клиентам

3.1.Из таблицы «Клиенты» выберите поля: «Фирма», «Город», «Телефон», «Фа-

милия», «Имя», «Отчество».

91

3.2.Из запроса «Заказы компьютеров» выберите поля: «Количество» и «Стои-

мость»

3.3.Задайте группировку по Клиенту.

3.4.Задайте итог по стоимости и укажите только итоги.

3.5.Отредактируйте в режиме Конструктора.

92



В раздел образования