Создание форм для заполнения и изменения базы данных

Работа с СУБД Access

Создание таблиц

1. Запустите программу Microsoft Access 2007.

2. В появившемся окне выберите «Новая база данных».

3. Создание форм для заполнения и изменения базы данных - student2.ru Справа появится раздел, предлагающий ввести название новой база данных.

4. Выберите иконку папки, в появившемся диалоговом окне укажите свой сетевой диск.

5. В строке «Имя файла» введите название базы данных – «Страны Европы».

На экране появится окно заготовки таблицы. Закройте эту таблицу без сохранения.

6. Перейдите в меню Создание.

7. Выберите команду Конструктор таблиц.

8. Откроется окно с тремя столбцами: Имя поля, Тип данных, Описание.

9. Создайте таблицу со следующими параметрами:

Имя поля Тип данных
КодСтраны Счетчик (ключевой)
Страна Текстовый
Столица Текстовый
Площадь Числовой
Население Числовой
КодРелигии Числовой
Деньги Текстовый
КодСтроя Числовой

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

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

12. Закройте окно конструктора и, при запросе о сохранении задайте имя Страны Европы.

13. Аналогичным образом создайте еще 2 таблицы:

Государственный строй

Название поля Тип данных
КодСтроя Счетчик
ГосСтрой Текстовый

Основная религия:

Название поля Тип данных
КодРелигии Счетчик
Религия Текстовый

Создание связей между таблицами

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

1. Перейдите в раздел Работа с базами данных.

2. Выберите команду Схема данных.

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

4. Выберите мышкой КодРелигии в таблице Религия и перетащите на поле КодРелигии таблицы СтраныЕвропы.

Создание форм для заполнения и изменения базы данных - student2.ru В появившемся диалоговом окне Изменение связей необходимо установить нужную связь: флажок напротив опции Обеспечение целостности данных означает, что перед тем как занести данные в подчиненную таблицу, СУБД будет проверять их на соответствие главной. (Таблица СтраныЕвропы является подчиненной для таблиц Религия и Строй). Флажок напротив опции Каскадное обновление связанных полей означает, что изменения в главной таблице автоматически будут влиять на подчиненную. Флажок напротив опции Каскадное удаление связанных полей означает, что поля удаленные в главной таблице будут удалены и в подчиненной.

5. Установите первые два флажка.

6. Аналогичную операцию проделайте с таблицами СтраныЕвропы и Строй(если связь не устанавливается, еще раз проверьте типы данных связываемых полей).

7. В результате должна получиться следующая схема данных:

Создание форм для заполнения и изменения базы данных - student2.ru

8. Закройте схему с сохранением.

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

Создание форм для заполнения и изменения базы данных

Создание форм для заполнения и изменения базы данных - student2.ru Формы можно создавать как в режиме конструктора (мы так делали таблицы), так и с помощью мастера с последующей доработкой созданной формы в режиме конструктора.

Сначала создадим формы для справочных (так называемых родительских) таблиц:

  1. Перейдите в раздел Создание. Выберите область Формы, команду Другие формы/Мастер форм.
  2. В открывшемся диалоговом окне Создание форм из раскрывающегося списка выберите таблицу ГосСтрой.
  3. В левом окне появится список полей, существующих в выбранной таблице.
  4. Перенесите все поля в правое окно, нажав на кнопку с двойной стрелкой между ними.
  5. В результате поля КодСтроя и ГосСтрой появятся в правом окне и исчезнут в левом. Нажмите кнопку Далее.
  6. В следующем окне выберите внешний вид формы, поставив переключатель в строку ленточный. Выбор внешнего вида формы определяется, в основном, количеством полей, которые необходимо разместить на форме. Т.к. в нашем случае полей мало (всего два), то вид ленточный наиболее наглядный для работы с данными.
  7. В следующем окне выберите стиль оформления формы по своему вкусу.
  8. Далее задайте имя формы. Оно, как правило, будет соответствовать названию таблицы, на основе которой построена форма.
  9. Нажатие кнопки Готово приведет к открытию формы в режиме просмотра и ввода данных.

Заполните форму следующими данными, приведенными в таблице:

Государственный строй

КодСтроя ГосСтрой
Республика
Княжество
Монархия
Герцогство
  1. Обратите внимание на то, что поле КодСтроя будет заполняться автоматически и новая строка для ввода данных будет появляться сама, как только будет заполняться поле ГосСтрой.
  2. Аналогичным образом создайте форму на основе таблицы ОсновнаяРелигия.
  3. Заполните созданную форму данными, приведенными в таблице:

Основная религия:

Код религии Основная религия
Атеизм
Христианство католики
Христианство православные
Христианство протестанты
  1. После заполнения форм откройте одноименные таблицы и проверьте, сохранились ли там введенные в форме данные.
  2. Осталось создать форму для заполнения сводной таблицы СтраныЕвропы. Выберите раздел Создание/Формы/Другие формы/Мастер форм.
  3. В открывшемся диалоговом окне выберите таблицу СтраныЕвропы, на основе которой будет строится форма.
  4. Перенесите все поля, доступные в таблице, на форму.
  5. Выберите внешний вид формы, поставив переключатель в строку в один столбец.
  6. Далее выполните все действия, аналогично описанным выше при создании предыдущих форм.
  7. Создание форм для заполнения и изменения базы данных - student2.ru В результате получится аналогичная форма, но она не удобна для заполнения, т.к. нужно помнить код религии и код государственного строя наизусть для корректного заполнения базы данных. Поэтому данную форму необходимо подкорректировать в режиме конструктора.
  8. Перейдите из режима просмотра формы в режим конструктора, выбрав в разделе Главная в области Режимы команду Конструктор из раскрывающегося списка.
  9. Форма примет следующий вид:

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

  1. Выделите поле КодРелигии, щелкнув левой кнопкой мыши по соответствующему полю справа, и удалите его, нажав кнопку Delete на клавиатуре.
  2. Также удалите поле КодСтроя.
  3. Вместо них нужно разместить поля со списком, в которых будут отображаться названия строя и религии, при выборе которых в таблицу СтраныЕвропы в соответствующие поля будут заноситься коды выбранного строя и религии. Для этого нужно проделать следующие действия:
  4. Создание форм для заполнения и изменения базы данных - student2.ru Перейдите в раздел Инструменты конструктора форм/Конструктор.
  5. В области Элементы управления выберите Поле со списком.
  6. Курсор мыши примет вид черного плюсика. С его помощью нарисуйте будущее поле в области данных формы.
  7. В открывшемся диалоговом окне мастера Создание полей со списком переключатель должен стоять в строке Объект «поле со списком» будет использовать значения из таблицы или запроса.
  8. Далее, в следующем окне мастера выберите таблицу, из которой будут браться данные для списка: ГосСтрой.
  9. Далее перенесите оба поля из списка Доступных полей в список Выбранных полей, нажав двойную стрелку. Нам нужны обязательно как поле со списком возможных государственных устройств, так и их коды, т.к. КодСтроя является ключевым полем и используется для связи таблиц.
  10. Далее можно выбрать порядок сортировки данных в списке. Для удобства работы выберите сортировку по полю ГосСтрой. В этом случае в раскрывающемся поле со списком формы государственного строя будут расположены в алфавитном порядке.
  11. Далее убедитесь, что флажок Скрыть ключевой столбец установлен, т.к. в нашем списке нам удобно видеть только само название государственного строя, без кодов (чтобы коды не мешали зрительно).
  12. Далее очень важно правильно определить действие, которое будет выполняться при выборе значения из объекта «поле со списком». В нашем случае обязательно нужно Сохранить в поле: и выбрать КодСтроя. Таким образом, при заполнении формы выбрав из списка конкретный государственный строй вы работаете с понятными вам словами, а СУБД сама запишет в таблицу СтраныЕвропы в поле КодСтроя именно код того строя, который вы выбрали из таблицы ГосСтрой.
  13. Далее на последнем шаге мастера необходимо задать надпись, поясняющую, что будет находиться в данном поле со списком. Введите текст Гос строй. Готово.
  14. Выровняйте надпись и поле, если это необходимо.
  15. Аналогично создайте поле со списком для ввода религии.
  16. Перейдите в режим формы и заполните форму данными.
  17. Заполнив первую запись, перейдите к следующей, нажав кнопку перехода внизу формы.

Создание форм для заполнения и изменения базы данных - student2.ru

Страны Европы:

Страна Площадь (кв.км) Столица Население Основная религия Денежная единица Гос. строй
Австрия 83 871 Вена 8 404 252 Христианство католики Шиллинг Республика
Албания 28 748 Тиpана 3 187 009 Атеизм Лек Республика
Андоppа Андоpра-ла-Велья 91 023 Христианство католики Фpанк Княжество
Бельгия 30 528 Бpюссель 10 431 477 Христианство католики Фpанк Монархия
Болгаpия 110 994 София 7 364 570 Христианство православные Лев Республика
Дания 43 094 Копенгаген 5 564 219 Христианство протестанты Кpона Монархия
Финляндия 338 424 Хельсинки 5 396 292 Христианство протестанты Маpки Республика
Фpанция 547 030 Паpиж 62 379 432 Христианство католики Фpанк Республика
Гpеция 131 957 Афины 11 306 183 Христианство православные Дpахма Республика
Иpландия 70 273 Дублин 4 581 269 Христианство католики Фунт Республика
Исландия 103 125 Pейкьявик 317 630 Христианство протестанты Кpона Республика
Италия 301 230 Pим 60 605 053 Христианство католики Лиpа Республика
Лихтенштейн Вадуц 35 870 Христианство католики Фpанк Монархия
Люксембуpг 2 586 Люксембуpг 502 207 Христианство католики Фpанк Герцогство
Мальта Валлетта 402 000 Христианство католики Фунт Республика
Монако Монако 32 965 Христианство католики Фpанк Княжество
Нидеpланды 41 526 Амстеpдам 16 357 373 Христианство протестанты Флоpин Монархия
Ноpвегия 385 186 Осло 5 002 000 Христианство протестанты Кpона Монархия
Польша 312 679 Ваpшава 38 192 000 Христианство католики Злотый Республика
Поpтугалия 92 391 Лиссабон 10 707 924 Христианство католики Эскудо Республика
Pумыния 238 391 Бухаpест 21 466 174 Христианство православные Леи Республика
Сан-Маpино Сан-Маpино 32 075 Христианство католики Лиpа Республика
Швейцаpия 41 284 Беpн 7 700 200 Христианство католики Фpанк Республика
Испания 504 782 Мадpид 46 162 024 Христианство католики Песета Монархия
Великобpита-ния 243 809 Лондон 58 789 194 Христианство православные Фунт Монархия
Швеция 449 964 Стокгольм 9 354 426 Христианство протестанты Кpона Монархия
Чехия 78 866 Пpага 10 532 770 Христианство католики Кpона Республика
Венгpия 93 030 Будапешт 10 019 000 Христианство католики Фоpинт Республика
Геpмания 357 021 Берлин 81 757 600 Христианство протестанты Маpка Республика

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

Запросы предназначены для выборки нужных данных из разных таблиц, проведения сортировки, отбора данных согласно заданному условию, проведения расчетов, группирования данных, анализ данных посредством сведения их по различным параметрам и т.д. Существует целый ряд запросов, позволяющих выполнить эти задачи, в частности, запрос на выборку, перекрестный запрос, запрос с параметром и т.д. Начнем с самого простого запроса – запроса на выборку.

  1. Перейдите в раздел Создание/Другиевыберите команду Конструктор Запросов.
  2. В окне конструктора запросов автоматически появится диалоговое окно добавления таблиц. Если это окно не появилось, его можно вызвать командой Отобразить таблицу области Настройка запроса.
  3. Добавьте в запрос все три таблицы.
  4. Убедитесь, что между добавленными таблицами автоматически установилась связь.

Теперь необходимо выбрать поля для запроса. Из таблицы СтраныЕвропывозьмем поля: Страна, Столица, Площадь, Население, Деньги. Из таблицы ГосСтрой – поле Строй, а из таблицы Религия – поле Религия. Это вызвано тем, что последние два поля в таблице Страны Европы хранятся в кодовом виде, а в запросе мы можем позволить себе удобный просмотр.

  1. Первое поле добавьте, произведя двойной щелчок по нему в таблице.
  2. Второе перетащите, используя мышь (есть и третий способ, но он менее удобен).
  3. Остальные поля добавьте любым способом.
  4. Закройте запрос, при закрытии задав ему имя Основной.
  5. Откройте запрос и просмотрите какие данные он выводит.
  6. Закройте запрос.

Теперь наша задача настроить запрос на различные условия выборки, т.е. построить так называемый Запрос на выборку. Обычно для этого используют один запрос, меняя эти условия. Но для проверки выполненной работы, мы создадим несколько запросов (на каждое условие по запросу). Чтобы не создавать заново почти одинаковые запросы удобно несколько раз скопировать запрос Основной через буфер обмена.

  1. Выделите запрос Основной (он должен быть закрыть).
  2. Скопируйте его в буфер обмена.
  3. Вставьте его в базу 6 раз, задавая имена созвучные следующим ниже заданиям.

Православные страны: Для того чтобы вывести в запросе только страны с определенной религией необходимо в поле запроса Религия в строку Условие отбора ввести эту религию. Аналогично для любого поля.

  1. Создайте запрос, выводящий страны с православием. Помните, что условие отбора должно содержать название отбираемого параметра точно в том виде, что хранится в таблице, поэтому во избежание ошибок при вводе текста с клавиатуры, скопируйте нужный параметр из исходной таблицы или из самого запроса.

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

  1. Создайте запрос, выводящий страны с любой религией кроме Православия.

Страны с большим населением: Для того чтобы вывести страны с населением больше 1000000, достаточно в поле Население в строку Условие отбора ввести >1000000. Кстати для условий предусмотрено две строки, поэтому для одного поля можно вводить два условия.

  1. Создайте запрос, выводящий страны с населением более 10000000 и (And) менее 200000000
  2. Создайте запрос, выводящий страны с населением более 3000000 и площадью менее 30000 кв. км.

Можно сделать так, чтобы перед выводом запроса программа просила ввести данные, строки с которыми будут выведены. Это так называемый Запрос с параметром. Для этого в нужном поле, в строке Условие отбора надо ввести [Введите данные для отбора]. Выражение в скобках может быть любым, но именно оно появится в диалоговом окне.

  1. Создайте запрос, спрашивающий: страны с какой денежной единицей вывести на экран?

Для того чтобы находить в поле не конкретное значение, а только его фрагмент используют оператор Like. Его ставят впереди заданного фрагмента, а до или после фрагмента можно использовать символы маски (*).

  1. Создайте запрос, выводящий страны с денежной единицей, содержащей букву к.

Подведение итогов

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

  1. Создайте новый запрос конструктором. Добавьте таблицы: ОсновнаяРелигия и СтраныЕвропы.
  2. Выберите из таблицы ОсновнаяРелигия – поле Религия, из таблицы СтраныЕвропы – поле Население.
  3. Создание форм для заполнения и изменения базы данных - student2.ru В меню Работа с запросами/Конструктор выберите команду Итоги, обозначенную знаком сигмы ∑ (см. рис.).
  4. В нижней части окна запроса появится строка Групповая операция: между строкой Имя таблицы и Сортировка.
  5. В поле Религия в строке Групповая операция выберите из раскрывающегося списка команду Группировка.
  6. В поле Население в этой же строке выберите операцию суммирования Sum.
  7. Посмотрите результат выполнения данного запроса.

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

Вычисляемые поля

В результате выполнения запроса можно получить не только те данные, которые хранятся в таблицах БД, но и результаты вычислений. Для этого в строке Поле бланка запроса надо указать не имя поля из какой-либо таблицы, а формулу расчета нужного вам значения с использованием полей таблиц, встроенных функций и операторов. Для создания формулы используйте Построитель выражений (в контекстном меню команда Построить…).

  1. Создайте запрос, выводящий страны с плотностью населения в них. В запросе должно быть два поля: Страны из таблицы СтраныЕвропы и еще одно поле, созданное самостоятельно. Для этого в соседнем пустом поле вашего запроса, в строке Поле задайте название поля Плотность_населения:. Обязательно проверьте, чтобы после названия стоял знак двоеточие (:).
  2. Вызовите построитель выражений из раздела Работа с запросами/Конструктор область Настройка запроса команда Построитель, или команда Построить из контекстного меню.
  3. Откроется диалоговое окно построителя выражения, в основном окне которого будет отображено название поля, которое вы ввели в строке Поле.
  4. В левом нижнем окне выберите последовательно Таблицы –СтраныЕвропы.
  5. В среднем окне появится список полей выбранной таблицы.
  6. Щелкните дважды левой кнопкой мыши на поле Население, оно появится в верхнем окне построителя.
  7. Выберите операцию деления в строке кнопок, расположенной ниже окна ввода выражения, или с клавиатуры.
  8. Выберите двойным щелчком поле Площадь.
  9. В окне построителя выделите слово «Выражение» и удалите его.
  10. Проверьте результаты расчетов. Сохраните запрос.

Запрос на обновление

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

Наши рекомендации