Microsoft Access

Основные понятия базы данных. Разработка сложной формы для обработки данных. Модели организации данных. Архитектура Microsoft Access. Реляционные связи между таблицами баз данных. Проектирование базы данных. Модификация данных с помощью запросов действий.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 20.12.2011
Размер файла 345,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Пример 10. Показать общую сумму продаж каждого товара с 1 мая 2002 года

Поле

Дата

Количество

Стоимость

Имя таблицы

ОТПУСК

ОТПУСК

Групповая операция

группировка

Sum

Sum

Условие отбора

>#01.05.02#

Пример 11. Определить товары, общая сумма продажи которых превысила 10000 рублей

Поле

Название

Количество

Стоимость

Имя таблицы

Название

ОТПУСК

Групповая операция

группировка

Sum

Sum

Условие отбора

>10 000

3.6 Создание параметрических запросов

В запросах выбора условия отбора вводятся непосредственно в бланках QBE окна запроса в режиме конструктора. Однако не всегда на этапе создания запроса можно решить, какие именно значения должен отыскивать Access. Вместо этого можно включить в запрос параметр и в этом случае перед выполнением запроса Access каждый раз будет запрашивать у пользователя конкретные условия отбора. Чтобы установить параметр, вместо конкретного значения в строку Условия отбора в бланке QBE нужно ввести имя или фразу, заключенную в квадратные скобки. То, что заключено внутри квадратных скобок, Access рассматривает как имя параметра. Это имя выводится в диалоговом окне при выполнении запроса, поэтому в качестве имени параметра следует использовать содержательную фразу. В одном запросе можно задать несколько параметров. При этом имя каждого параметра должно быть уникальным и информативным.

Пример 12. Определить общую сумму продаж за определенный день

Поле

Дата

Стоимость

Имя таблицы

ОТПУСК

Групповая операция

группировка

Sum

Условие отбора

[Введите дату]

3.7 Создание перекрестных запросов

Access поддерживает специальный тип итоговых запросов, называемый перекрестным запросом или запросом кросс-таблиц. Такой запрос позволяет увидеть вычисляемые значения в виде перекрестной таблицы, напоминающей электронную таблицу. Если необходимо объединить данные в формате строк-колонок (двумерная таблица), то следует создать запрос кросс-таблицы. При проектировании запроса кросс-таблицы можно указать в качестве заголовков для колонок значения некоторых полей или выражений. Запросы кросс-таблиц позволяют более компактно, чем обычные запросы, индицировать данные, объединяя однотипную информацию. При создании перекрестного запроса необходимо в режиме конструктора запроса выполнить команду Запрос/ Перекрестный. Access добавляет в бланк QBE строку Перекрестная таблица. В этой строке для каждого поля перекрестного запроса может быть выбрана одна из четырех установок: Заголовки строк, Заголовки столбцов, Значение (выводимое в сетке перекрестного запроса) и Не выводить. Для перекрестного запроса нужно определить по крайней мере одно поле в качестве заголовка строки, одно поле в качестве заголовка столбца и одно поле значений. Каждое поле, являющееся заголовком строки или столбца, должно иметь в строке групповых операций установку Группировка. Для поля, которое в бланке запроса имеет установку Значение, нужно выбрать одну из групповых функций или ввести выражение, содержащее групповые функции. Как и в других типах итоговых запросов, для отбора данных, включаемых в набор записей, можно использовать дополнительные поля. Для таких полей необходимо выбрать установку Условия в строке групповых операций и Не выводить в строке Перекрестная таблица, а затем ввести Условия отбора. Условия отбора и сортировки можно указать для любого поля, используемого в качестве заголовка.

Пример 13. Определить итоговые суммы продаж по месяцам (столбцы таблицы) для каждого наименования товара (строки)

Поле

Название

Месяц:Month([Дата])

Стоимость

Имя таблицы

ТОВАР

Групповая операция

Группировка

Группировка

Sum

Перекрестная таблица

Заголовки строк

Заголовки столбцов

Значение

Сортировка

По возрастанию

По возрастанию

Порядок столбцов в перекрестной таблице можно определить, используя бланк свойст запроса. Бланк свойств можно получить, если щелкнуть в любом месте верхней панели (вне списка полей) окна запроса в режиме конструктора, а затем по кнопке Свойства на панели инструментов.

3.8 Модификация данных с помощью запросов действий

Запрос действия изменяет данные или копирует их из одной таблицы в другую. В отличие от запроса выбора он не создает Dynаset, который можно отобразить на экране в табличном представлении. Для того, чтобы увидеть изменения, нужно либо снова преобразовать запрос действия в запрос выбора (для запросов обновления), либо открыть таблицу (для запросов создания таблиц, добавления и удаления записей). С помощью запроса действия пользователь может изменять или переносить данные таблицы, а также обновлять, добавлять или удалять группы блоков данных, создавать новые таблицы из набора Dynaset.

Различают четыре типа запросов действия: запросы добавления, запросы удаления, запросы обновления и запросы создания таблицы.

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

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

Запрос удаления

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

Пример 14. Удалить сведения о продаже товаров за определенный месяц.

Поле

Month([ОТПУСК]![Дата])

Year(ОТПУСК[]![Дата])

Имя таблицы

Условие отбора

[Месяц удаления]

[Год удаления]

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

Перед тем как приступить к созданию и выполнению запроса на обновление множества записей в базе данных, стоит сначала создать запрос-выборку, используя условия отбора, позволяющие выбрать те записи, которые нужно обновить.После того, как Access выберет нужные записи, не составит особого труда преобразовать этот запрос-выборку в запрос-обновление или в другой тип запроса действия. Используя этот запрос, пользователь может изменить группу блоков данных, отобранную на основе определенных критериев. Чтобы преобразовать запрос-выборку в запрос-обновление, следует в режиме конструктора запроса выполнить команду Запрос/Обновление. В строке Обновление для соответствующего поля вводится выражение. В квадратных скобках указываются имена полей. Когда Access готов приступить к обновлению данных в базовой таблице или запросе, он сначала делает копию исходной записи. Access применяет заданные пользователем выражения к исходной записи и помещает результаты в копию, затем меняет содержимое базы данных, переписывая модифицированную копию в таблицу.

Пример 15. Увеличить цену товаров заданного типа на 20%

Поле

Тип

Цена

Имя таблицы

ТОВАР

ТОВАР

Обновление

[Цена]*1.2

Условие отбора

[Введите тип]

Запрос создания таблицы

Из динамического набора Dynaset, сформированного при выполнении запроса, можно создать таблицу, например для архивирования старых блоков данных, сохранения резервных копий таблиц или накапливания итоговой информации. Сначала следует создать запрос выбора и получить динамический набор данных Dynaset, заодно проверив при этом корректность запроса. Если Dynaset соответствует представлениям пользователя, следует превратить запрос-выборку в запрос на создание таблицы, выполнив команду Запрос/Создание таблицы в режиме конструктора запроса. В диалоговом окне Свойства запроса следует указать имя для создаваемой таблицы.

Лабораторная работа № 4. Разработка сложной формы для обработки данных

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

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

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

НомерПокупки из таблицы ОТПУСК - Поле первичного ключа дочерней таблицы;

КодПокупателя из таблицы ОТПУСК - Поле внешнего ключа дочерней таблицы;

КодТовара из таблицы ОТПУСК - Поле дочерней таблицы;

Количество из таблицы ОТПУСК - Поле дочерней таблицы;

Цена из таблицы ОТПУСК - Поле дочерней таблицы;

Стоимость: [Сделка]![Количество]*[Товар]![Цена] - вычисляемое поле.

В режиме SQL запрос Подчиненый выглядит следующим образом:

SELECT ОТПУСК.КодПокупателя, ОТПУСК.КодТовара,

ОТПУСК.Количестиво, ОТПУСК.Дата, ТОВАР.Цена,

[ТОВАР]![Цена]*[ОТПУСК]![Количестиво] AS Стоимость

FROM ТОВАР INNER JOIN ОТПУСК

ON ТОВАР.КодТовара = ОТПУСК.КодТовара;

3. Создать форму для запроса Подчиненный.

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

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

Для полей КодТовара, КодПокупателя, НомерПокупки, Цена, Стоимость по правой кнопке мыши взять Свойства, выбрать Данные и установить Блокировка в значение Да, Доступ в значение Нет, так ввод данных в эти поля не предполагается.

Редактирование подчиненной формы в режиме просмотра. Следует первым установить поля Название, Цена, Количество, Стоимость. Остальные поля можно скрыть, соединив границы поля.

4. Создать главную форму для таблицы ПОКУПАТЕЛЬ с помощью Конструктора.

Установить элемент ПолеСоСписком с помощью мастера., выбрав в первом окне диалога пункт Поиск записи в форме на основе значения, которое содержит ПолеСоСписком, выбрав КодПокупателя для связи и Имя для выбора.

Установить элемент Подчиненная форма/отчет, указав в свойствах элемента Данные свойство Объект -источник имя формы, созданной для подчиненного запроса. Тогда установятся значения для свойства Подчиненные поля - КодПокупателя и для свойства Основные поля -КодПокупателя

Установить элемент поле с именем Поле5 для указания общего количества заказанного товара и элемент поле с именем Поле7 для общей стоимости заказа. Установим свойства элементов Блокировка в значение Да и Доступ в значение Нет.

Добавим поле с именем Поле9, установим его свойство Данные в значение КодПокупателя и сделаем это поле невидимым (свойство Макет - Вывод на экран в значение Нет). Это поле потребуется для синхронизации перемещения по записям таблицы ПОКУПАТЕЛЬ.

Внешний вид формы показан на рис.

Теперь осталось рассчитать общее количество и общую стоимость заказа для покупателя, чье имя выбрано в выпадающем списке главной формы. Для расчета используем встроенную функцию подсчета суммы по подмножеству DSUM. Аргументами данной функции являются: имя поля таблицы или запроса, по которому будет производиться подсчет суммы, имя таблицы или запроса и критерий, по которому выбираются записи для подсчета суммы. Таким критерием в данном случае является равенство поля КодПокупателя из запроса Подчиненный коду покупателя, установленному при выборе в поле со списком с именем ПолеПоСписком0.

Для подсчета общего количество товара в заказе используем формулу:

Forms![Главная]![Поле5] = DSum("[Количестиво]", "[Подчиненный]", "Forms![Главная]![ПолеСоСписком0] = [Подчиненный]![КодПокупателя]")

Для подсчета общей стоимости заказа испаользуем формулу:

Forms![Главная]![Поле7] = DSum("[Стоимость]", "[Подчиненный]", "Forms![Главная]![ПолеСоСписком0] = [Подчиненный]![КодПокупателя]")

Обработаем события главной формы: при открытии и текущая запись

При открытии формы установим в выпадающем списке имя первого клиента из таблицы ПОКУПАТЕЛЬ и пересчитаем общее количество и общую стоимость заказа.

Private Sub Form_Open(Cancel As Integer)

[ПолеСоСписком0] = 1

Forms![Главная]![Поле5] = DSum("[Количестиво]", "[Подчиненный]",

"Forms![Главная]![ПолеСоСписком0] = [Подчиненный]![КодПокупателя]")

Forms![Главная]![Поле7] = DSum("[Стоимость]", "[Подчиненный]",

"Forms![Главная]![ПолеСоСписком0] = [Подчиненный]![КодПокупателя]")

End Sub

При переходе на следующую запись в таблице ПОКУПАТЕЛЬ необходимо синхронно установить имя следующего клиента и также пересчитать общее количество и общую стоимость заказа.

Private Sub Form_Current()

[ПолеСоСписком0] = [Поле9]

Forms![Главная]![Поле5] = DSum("[Количестиво]", "[Подчиненный]",

"Forms![Главная]![ПолеСоСписком0] = [Подчиненный]![КодПокупателя]")

Forms![Главная]![Поле7] = DSum("[Стоимость]", "[Подчиненный]",

"Forms![Главная]![ПолеСоСписком0] = [Подчиненный]![КодПокупателя]")

End Sub

Для элемента ПолеСоСписком обработаем событие После обновления. В этом случае при смене имени клиента необходимо пересчитать общее количество и общую стоимость заказа.

Sub ПолеСоСписком0_AfterUpdate()

' Поиск записи, соответствующей этому элементу управления.

Me.RecordsetClone.FindFirst "[КодПокупателя] = " &

Me![ПолеСоСписком0]

Me.Bookmark = Me.RecordsetClone.Bookmark

Forms![Главная]![Поле5] = DSum("[Количестиво]", "[Подчиненный]",

"Forms![Главная]![ПолеСоСписком0] =

[Подчиненный]![КодПокупателя]")

Forms![Главная]![Поле7] = DSum("[Стоимость]", "[Подчиненный]",

"Forms![Главная]![ПолеСоСписком0] =

[Подчиненный]![КодПокупателя]")

End Sub

Для Подчиненной формы обработаем события После обновления и После подтверждения Del

Private Sub Form_AfterUpdate()

Forms![Главная]![Поле5] = DSum("[Количестиво]", "[Подчиненный]",

"Forms![Главная]![ПолеСоСписком0] =

[Подчиненный]![КодПокупателя]")

Forms![Главная]![Поле7] = DSum("[Стоимость]", "[Подчиненный]",

"Forms![Главная]![ПолеСоСписком0] =

[Подчиненный]![КодПокупателя]")

End Sub

Private Sub Form_AfterDelConfirm(Status As Integer)

Forms![Главная]![Поле5] = DSum("[Количестиво]", "[Подчиненный]",

"Forms![Главная]![ПолеСоСписком0] =

[Подчиненный]![КодПокупателя]")

Forms![Главная]![Поле7] = DSum("[Стоимость]", "[Подчиненный]",

"Forms![Главная]![ПолеСоСписком0] =

[Подчиненный]![КодПокупателя]")

End Sub

Лабораторная работа № 5. Разработка отчетов по данным

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

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

SELECT ТОВАР.Название, ТОВАР.Тип, ТОВАР.Цена, ПОКУПАТЕЛЬ.Имя,

ПОКУПАТЕЛЬ.Фирма, ПОКУПАТЕЛЬ.Город,

ОТПУСК.Количестиво, ОТПУСК.Дата,

[ТОВАР]![Цена]*[ОТПУСК]![Количестиво] AS Стоимость

FROM ТОВАР INNER JOIN (ПОКУПАТЕЛЬ INNER JOIN ОТПУСК ON

ПОКУПАТЕЛЬ.КодПокупателя = ОТПУСК.КодПокупателя)

ON ТОВАР.КодТовара = ОТПУСК.КодТовара;

Создать отчет Мастером для запроса Отчет, взяв поля в порядке: Фирма, Название, Тип, Цена, Количество, Стоимость.

Добавить уровни группировки по полю Фирма.

Сортировать записи по полю Название.

Подводить итоги SUM по полям Количество и Стоимость

Выбрать Макет по левому краю

Подправить отчет в режиме конструктора: для поля Стоимость установить формат поля Денежный.

Вид отчета в режиме конструктора показан на рис

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

Литература

Бекаревич Ю . Б.,Пушкина Н .В .Работа с базой данных в Microsoft Access Учебное пособие .СПб .:Изд-во СПбУЭФ ,1996.

Гончаров А .Access 7 .0 в примерах .СПб .:Питер Пресс ,1997.

Гончаров, Алексей. Microsoft Access 7.0 в примерах.-СПб.:Питер,1997.- 256.:ил.

Дженнингс, Р. Access TM 95 в подлиннике.-СПб.: BHV-Санкт-Петербург.-Т.2.-1997.-512с.:ил.

Дженнингс, Р. Access TM 95 в подлиннике.-СПб.: BHV-Санкт-Петербург.- Т.1.-1997.-800с.:ил.

Карпов, Борис. Microsoft Access 2000:Справочник.- СПб.:Питер,2000.- 410с.

  • Размещено на Allbest.ru

Подобные документы

  • Принципы работы с реляционными базами данных в среде Microsoft Access. Основные положения базы данных Access. Составление таблиц, запросов, отчетов, страниц и модулей. Основные структуры представления базы данных. Определение связей между таблицами.

    контрольная работа [2,6 M], добавлен 03.04.2014

  • Создание моделей данных, основных таблиц с помощью конструктора таблиц, связей между таблицами, форм для заполнения таблиц, запросов на выборку данных, отчетов для вывода на печать и начальной кнопочной формы. Основные объекты Microsoft Access.

    контрольная работа [4,5 M], добавлен 18.03.2012

  • Понятие реляционной модели данных, целостность ее сущности и ссылок. Основные этапы создания базы данных, связывание таблиц на схеме данных. Проектирование базы данных книжного каталога "Books" с помощью СУБД Microsoft Access и языка запросов SQL.

    курсовая работа [838,9 K], добавлен 25.11.2010

  • Виды и функции системы управления базами данных Microsoft Access. Иерархическая, сетевая, реляционная модель описания баз данных. Основные понятия таблицы базы данных. Особенности создания объектов базы данных, основные формы. Доступ к Internet в Access.

    контрольная работа [19,8 K], добавлен 08.01.2011

  • Системы управления базами данных: сущность и характеристика. Типы данных и свойства полей СУБД Access. Объекты базы данных: таблицы, схемы данных, формы, запросы, отчеты. Разработка и проектирование базы данных "Продажи книг" в среде Microsoft Access.

    курсовая работа [1,8 M], добавлен 04.02.2013

  • Краткая характеристика и функциональные возможности MS Access. Базы данных и системы управления базами данных. Проектирование в теории и создание на практике базы данных в продукте корпорации Microsoft для управления базами данных "Microsoft Access".

    курсовая работа [1,6 M], добавлен 07.03.2015

  • Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.

    реферат [57,1 K], добавлен 20.12.2010

  • Проектирование базы данных с использованием комплекса программных и языковых средств Microsoft Access. Модель данных, доступ к ним. Назначение, основные возможности и версии Access. Запуск программы; окно базы данных, формы для их ввода и редактирования.

    курсовая работа [1,1 M], добавлен 30.12.2014

  • Создание таблиц базы данных с помощью MS Access "Страны Азии". Форма базы данных и запросы к выборкам данных. Модификация структуры таблиц, создания связей между главными таблицами, редактирование данных и проектирование форм для реальной базы данных.

    контрольная работа [723,9 K], добавлен 25.11.2012

  • Компоненты реляционной базы данных Microsoft Access. Создание структуры таблиц и определение связей между ними. Проектирование форм для сводных таблиц и запросов с помощью конструктора окон. Разработка и создание автоотчетов и запросов на выборку данных.

    реферат [3,3 M], добавлен 29.01.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.