Как сделать запрос в access 2003?
Содержание
Предисловие.
Создание баз данных с помощью приложения MS Access 2003 — задача довольно распространенная по причине включения самого приложения в пакет MS Office, но когда начинаеш читать учебники и руководства по MS Access 2003, то становится малость не посебе от обилия возможных вариантов создания баз данных, с помощью этого приложения. Данная инструкция по созданию базы данных, была написана автором чисто для себя (во время изучения MS Access), в качестве подручного материала по созданию базы данных и использует только какой то один вариант в каждом конкретном случае, не углубляясь в теорию
Создание базы данных начинается с ее планирования, а потом уже создаются остальные части задуманного, согласно разработанного плана действий.
План базы данных My_own_base
- Адрес — таблица адресов мест хранения
поля — КодАдреса(Счетчик), Адрес, Примечание. - Помещение — таблица с перечнем помещений для хранения
поля — КодПомещения(Счетчик), помещение, примечание. - Шкаф — таблица с перечнем шкафов (ящиков)в помещениях
поля — КодШкафа(счетчик), шкаф, примечание. - Полка — таблица с перечнем полок (секций) в шкафу.
поля — КодПолки (счетчик), полка, примечание. - Папка — таблица с перечнем папок для хранения документов
поля — КодПапки (счетчик), папка, примечание. - Документ — таблица содержащая список документов ( с разбивкой — по вышеприведенным признакам)
поля — КодДокумента (счетчик), адрес, помещение, шкаф, полка, папка, документ, дата открытия, дата закрытия, аннотация,актуальность (текущая), примечание. - Книга — таблица содержащая список книг (с разбивкой — по вышеприведенным признакам)
поля — КодКниги (счетчик), адрес, помещение, шкаф, полка, книга, автор, название книги, год издания,номер издания, место издания, формат издания (повесть, роман и т.д.), аннотация, примечание.
Создание базы и ее компонентов
Открываем__MS_Access_2003
Создаем новую базу.
Создаем таблицы.
Создаем таблицы с соответствующими полями (7шт)с использованием нескольких кнопок
Таблицы, Создание таблиц в режиме конструктора,Конструктор, Открыть.
* поля счетчиков — обязательно ключевые и их заполнение идет автоматически,следует заметить что в MS Access обнуление счетчиков (при необходимости), вопрос решаемый, но достаточно хлопотный.
Продолжаем создание таблиц.
Продолжаем создание таблиц, используя этот шаблон (последовательность).
И тогда конечный вид для таблицы Документ, будет иметь вид
а для таблицы Книги
Продолжаем создание таблиц, используя этот шаблон(последовательность).И тогда конечный вид для таблицы Книги, будет иметь вид
и здесь Далее
и здесь продолжаем˜
Здесь из выпадающих списков выбираем соответствующие поля и нажимаем Далее
Здесь просто нажимаем Далее
Здесь нажимаем Готово
и здесь Да
Окончание создания таблиц.
Выполняем перечисленные для Подстановки процедуры с полями Помещение, Шкаф, Полка в таблице Книги и с полями Адрес, Помещение, Шкаф, Полка, Папка в таблице Документы Для поля Актуальность в таблице Документы создадим отдельную таблицу.
* При этом тип данных в этих полях автоматически поменяется с текстовый на числовой.
Просмотрим схему данных базы, после выполненных процедур.
Если сейчас открыть вкладку Подстановка в таблице Книги, то там можно увидеть такую картину“
Т.е. таблицы входящие в базу связаны между собой, база работоспособна и ее таблицы можно наполнять данными.
Формы в базе MS Access
Но MS Access обладает еще целым рядом расширенных функций для облегчения работы пользователя и их подключением мы сейчас и займемся.
Создадим формы для чтения и заполнения таблиц данными.
Вот такая форма у нас получилась.
Повторяем создание форм для всех таблиц используя приведенный шаблон.
Запросы к базе MS Access
Создаем запросы на выборку данных из базы
Выбираем нужные для формирования запроса поля и нажимаем Далее
Вот такой бланк запроса у нас получился
Повторяем создание запросов для таблицы Книги, для других таблиц есть смысл создавать запросы тогда когда в них будет количество полей более 25 (это только мое мнение — можно в принципе создавать поиск и в таблице с 2-3 полями).И вот такая форма запроса для таблицы Книги.
Поля формы (ширину колонок)можно изменить простым перетаскиванием границ при нажатой правой кнопке мыши
Отчеты в базах MS Access
Так же сформируем отчеты для нашей базы данных
Так же сформируем отчеты для нашей базы данных
Заключение
Ну вот и все — простейшая база создана и ею можно пользоваться. То что база простейшая отнюдь не означает, что она не может работать полнофункционально, все функции в наличии. Усложнения возможны за счет формирования более сложных отчетов, создания сложных запросов, более красивого оформления форм, добавления в таблицы, каких то не достающих полей. По большому счету можно модифицировать и эту базу под свои нужды и вкусы, а можно и создать новую базу, взяв за основу эту базу.
Удачи в творчестве.
Приложение.
1. Электронная книга в HTML формате
2. Электронная книга в EXE формате
3. Электронная книга в PDF формате
4. Электронная книга в PDF формате
Copyright © Grigoriy Krotko, 2010-2011
http://www.krognet.com************ ‘+addy_text3f9c19b230d861914cf934dbebbbdb86+»;%20%09%09″>Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. document.getElementById(‘cloak22f79942cf3c2c060d266f65e9b6fbb4’).innerHTML = »; var prefix = ‘ma’ + ‘il’ + ‘to’; var path = ‘hr’ + ‘ef’ + ‘=’; var addy22f79942cf3c2c060d266f65e9b6fbb4 = ‘admin’ + ‘@’; addy22f79942cf3c2c060d266f65e9b6fbb4 = addy22f79942cf3c2c060d266f65e9b6fbb4 + ‘krognet’ + ‘.’ + ‘com’; var addy_text22f79942cf3c2c060d266f65e9b6fbb4 = ‘admin’ + ‘@’ + ‘krognet’ + ‘.’ + ‘com’;document.getElementById(‘cloak22f79942cf3c2c060d266f65e9b6fbb4’).innerHTML += »+addy_text22f79942cf3c2c060d266f65e9b6fbb4+»;
ACCESS 2003 Простые запросы
Теория Запрос на выборку позволяет выбрать данные из одной или нескольких таблиц по определенному условию. В результате выполнения запроса на экран выводится таблица, содержащая выбранные данные. Запросы можно создавать с помощью инструкций SQL или с помощью бланка запросов. При этом инструкция SQL, реализующая этот запрос, создается автоматически.
Теория Для создания запроса нужно открыть базу данных, перейти на вкладку Запросы и выбрать пункт «Создание запроса в режиме конструктора»
Пример В БД Деканат нужно найти адреса (номер общежития и комната) всех девочек 9701 группы. Вывести на экран фамилии в алфавитном порядке, номер общежития и комнату. Для создания запроса нужно открыть базу данных, перейти на вкладку Запросы и выбрать пункт «Создание запроса в режиме конструктора»
Пример На экране появятся два окна: бланк запроса и окно добавления таблиц. В окне добавления таблиц выбираются только те таблицы, поля которых нужны в запросе.
Пример Поля Фамилия, пол, группа находятся в таблице «Студенты» , поля номер общежития и комната находятся в таблице «Общежитие» . Поэтому в окне Добавление таблицы выберем эти таблицы и нажмем кнопку Добавить. Затем нажмем кнопку Закрыть. Результат:
Пример В результате выполнения запроса должна быть таблица, содержащая поля Фамилия, Номер общежития и Комната. Перетащим эти поля из таблиц в верхней части бланка в нижнюю с помощью ЛКМ.
Пример Результат: Автоматически заполнилась строка Имя таблицы и строка Вывод на экран. Птичка означает, что значение поля на экран выводится. Для вывода фамилий в алфавитном порядке выберем для поля Фамилия в строке Сортировка По возрастанию.
Пример Нам нужно выполнять отбор по полям Пол и Группа. Поэтому перетащим эти поля из таблиц в строку Поле. Эти поля на экран выводить не нужно, поэтому уберем птичку в строке Вывод на экран. Результат:
Пример Заполним строку Условие отбора. В этой строке для поля Пол укажем ж (см. таблицу), а для поля Группа укажем 9701. Результат: Эти поля имеют текстовый тип. Двойные кавычки добавились автоматически. Для выполнения запроса нажмите
Пример Результат выполнения запроса:
Запрос на языке SQL Если вы хотите посмотреть запрос на языке SQL, то:
Составление условий отбора Условия отбора — это ограничения, накладываемые на запрос для определения записей, с которыми он будет работать. В условиях отбора: • значение поля типа дата/время заключается в знаки номера (#). Например, #05. 02. 2009# • значение поля текстового типа заключается в прямые двойные кавычки («). • Для объединения двух полей текстового типа используется оператор &. • имя поля заключается в квадратные скобки (). Условие отбора пишется в бланке запроса в строке «Условие отбора» в том поле по которому производится сравнение.
Проверка диапазона значений Для проверки на равенство, знак = можно не писать. Условие отбора Результат отбора = «Иванов» Отбор записей, содержащих фамилии, начиная с «Иванов» и до конца алфавита, в поле «Фамилия» Between Отбор записей, содержащих в поле «Дата» #02. 99# And даты в диапазоне от 2 февраля 1999 до 1 декабря 1999 #01. 12. 99# Not «США» Отбор записей содержащих в поле «Страна» любую страну за исключением США
Комбинирование условий отбора с помощью операторов and и or Если выражения вводятся в несколько ячеек Условие отбора, то они автоматически объединяются с помощью операторов And или Or. Если выражения находятся в разных ячейках, но в одной строке, то Microsoft Access использует оператор And
Комбинирование условий отбора с помощью операторов and и or Если же выражения находятся в разных строках бланка запроса, то Microsoft Access использует оператор Or.
Часть значения поля (Like) Оператор Like работает приблизительно так же, как шаблоны для поиска файлов. Выражение Результаты отбора Like «С*» Имена начинаются с буквы С Like «*» Имена находятся в диапазоне от А до Д Like «*тр*» Имена содержат сочетание букв «тр» Like «? ? » Имена состоят из четырех букв
Пустое значение поля Выражение Результаты отбора Is Null Отбор по полю, которое содержит значение Null, т. е. является пустым » » Отбор по полю, которое содержит строку нулевой длины
Запрос с параметром Параметр – информация для запроса, вводимая с клавиатуры. Используется в условии для отбора. Текст сообщения указывается в квадратных скобках. В конце обязательно «: » При выполнении такого запроса выводится окно: Результат:
Пример создания базы данных в Access «Деятельность музея»
Рассмотрим основное отношение, соответствующее теме «Деятельность музея»:Код экспоната, Наименование, Код зала, Дата поступления, Автор, Материал, Техника, Наименование зала, Код ответственного, Код сотрудника, ФИО, Оклад, Должность, Код экскурсии, Время проведения, График, Срок действия. Данное отношение находится в первой нормальной форме, поскольку все его атрибуты являются неделимыми и имеет составной ключ: Код экспоната, Код зала, Код сотрудника, Код экскурсии.
Скачать базу данных в Access
Приведение отношения к третьей нормальной форме
Некоторые атрибуты зависят только от части составного ключа. Устраним частичную зависимость и переведем это отношение во вторую нормальную форму путем декомпозиции основного отношения на следующие отношения:
1) Код экспоната, Наименование, Код зала, Дата поступления, Автор, Материал, Техника
2) Код зала, Наименование зала, Код ответственного
3) Код сотрудника, ФИО, Оклад, Должность
4) Код экскурсии, Время проведения, График, Срок действия, Код ответственного, Стоимость.
Отношения 1,2,3 и 4 находятся в третьей нормальной форме, поскольку они находятся во второй нормальной форме, и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Итак, спроектировали 4 таблицы.
Определение ключей и создание связей схемы связей.
Определим первичные и внешние ключи в таблицах и необходимые связи между атрибутами таблиц для обеспечения целостности БД.
В 1-ой таблице первичный ключ — Код экспоната. Атрибут Код зала является внешним ключом к таблице 2. Во 2-ой таблице первичный ключ- Код зала. Атрибут Код ответственного является внешним ключом по отношению к таблице 3. В 3-ей таблице первичный ключ- Код сотрудника. В 4-ой таблице первичный ключ — Код экскурсии, атрибут Код ответственного является внешним ключом по отношению к таблице 3.
Создадим схему связей между атрибутами таблиц для обеспечения целостности БД.
Создание файла базы данных в СУБД Microsoft Access 2003.
Создадим файл спроектированной БД в СУБД Microsoft Access 2003. Для этого запустим программу Microsoft Access 2003, выберем в окне команду Создать файл, затем в окне Создание файла выберем пункт Новая база данных и укажем диск, каталог и имя «Деятельность музея».
Создадим таблицы, для этого выберем объект Таблицы и кнопку Создать. В режиме Конструктор создадим таблицы со следующей структурой:
Изменение структуры таблиц с помощью SQL запроса
С помощью SQL-запроса изменим структуру таблицы Залы. Добавим атрибут Площадь, тип данных – числовой.
ALTER TABLE Залы ADD COLUMN Площадь FLOAT;
Внесение данных в таблицы.
В окне базы данных выберем объект Таблицы, установим курсор на нужную таблицу и нажмем кнопку Открыть. В режиме Таблицы введем записи в таблицы:
Изменение данных с помощью SQL запросов в MS Access
Запрос на добавление данных в таблицу Залы:
INSERT INTO Залы ( , Наименование, , Площадь )
VALUES (6, «Серебряный», 1, 145);
Запрос на удаление данных из таблицы Сотрудники Удалим записи с фамилией сотрудника, содержащей « Мечникова»:
DELETE ФИО
FROM Сотрудники
WHERE ФИО LIKE “Мечникова”;
Запрос на обновление данных. В таблице Издания увеличим стоимость объявлений изданий с кодами 1711 и 1712.
UPDATE Сотрудники SET Оклад = Оклад*1.2
WHERE (Сотрудники.Должность Like «*контроллер»);
Запрос на создание таблицы Расписание:
SELECT Экскурсии., Экскурсии.График, Сотрудники.ФИО INTO Расписание
FROM Сотрудники INNER JOIN Экскурсии ON Сотрудники. = Экскурсии.;
Получим:
Расписание |
||
Время проведения |
График |
ФИО |
10:00:00 |
суббота |
Лисина Л.Б. |
11:30:00 |
ежедневно |
Лисина Л.Б. |
15:15:00 |
по четным |
Коваленко Т.Ю. |
12:00:00 |
выходные |
Коваленко Т.Ю. |
15:00:00 |
по нечетным |
Лисина Л.Б. |
11:00:00 |
ежедневно |
Быков А.М.. |
17:00:00 |
с 1-3 каж. мес. |
Быков А.М.. |
14:00:00 |
среда |
Быков А.М.. |
12:45:00 |
среда |
Лисина Л.Б. |
16:00:00 |
вторник |
Быков А.М.. |
SQL запросы в Access для выборки данных
Напишем запросы SQL для выборки данных.
SELECT Сотрудники.ФИО, Залы.Наименование, Залы.Площадь
FROM Сотрудники INNER JOIN Залы ON Сотрудники. = Залы.;
Получим:
Запрос4 |
||
ФИО |
Наименование |
Площадь |
Мухина Д.Н. |
Главный |
|
Мухина Д.Н. |
Современный |
|
Бондаренко А.С. |
Серебряный |
|
Бондаренко А.С. |
Золотой |
|
Астахов Е.А. |
Бронзовый |
|
Лучко К.С. |
Рубиновый |
Выберем экскурсии, стоимость которых больше 100р и отсортируем по возрастанию цены:
SELECT , , График, , Стоимость
FROM Экскурсии
WHERE (Стоимость>100)
ORDER BY Стоимость;
Получим:
Запрос5 |
||||
Код экскурсии |
Время проведения |
График |
Срок действия |
Стоимость |
16:00:00 |
вторник |
01.08.2010 |
120,00р. |
|
12:00:00 |
выходные |
30.06.2010 |
120,00р. |
|
17:00:00 |
с 1-3 каж. Мес. |
01.08.2010 |
130,00р. |
|
10:00:00 |
суббота |
31.05.2010 |
150,00р. |
Вычислим средний оклад сотрудников музея по должностям:
SELECT Должность, Avg(Оклад) AS
FROM Сотрудники
GROUP BY Должность;
Запрос6 |
|
Должность |
Средний оклад |
гл. контроллер |
9 120,00р. |
искусствовед |
9 000,00р. |
контроллер |
8 040,00р. |
тех. сотрудник |
4 500,00р. |
экскурсовод |
9 266,67р. |
Вычислим, сколько экскурсий закреплено за каждым экскурсоводом с помощью групповой операции Count:
SELECT Сотрудники.ФИО, Count(Экскурсии.) AS
FROM Сотрудники INNER JOIN Экскурсии ON Сотрудники. = Экскурсии.
GROUP BY Сотрудники.ФИО
ORDER BY Count(Экскурсии.);
Запрос7 |
|
ФИО |
Количество экскурсий |
Коваленко Т.Ю. |
|
Лисина Л.Б. |
|
Быков А.М.. |
Создание однотабличного подзапроса:
SELECT Сотрудники.ФИО, Экскурсии.График, Экскурсии.Стоимость
FROM Сотрудники INNER JOIN Экскурсии ON Сотрудники. = Экскурсии.
WHERE (Экскурсии.) In (SELECT
FROM Экскурсии
WHERE (100);
Запрос9 |
||
Код сотрудника |
ФИО |
Должность |
Мухина Д.Н. |
контроллер |
|
Бондаренко А.С. |
гл. контроллер |
|
Лучко К.С. |
контроллер |