Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Komptern praktikum(E).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
10 Мб
Скачать
☆

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

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

  • Установить указатель мыши на строку Поле .

  • Нажать пиктограмму Построить для запуска Построителя выражений (рис. 9).

  • Далее следует набрать в Области для выражения необходимое выражение (рис. 10). Например, для формирования поля ФИО можно воспользоваться двумя способами:

ФИО:[Студенты]![Фамилия]+Left([Студенты]![Имя];1)+”.”+ Left([Студенты]![Отчество];1)+”.” .

Примечания: Left – стандартная функция, предназначенная для отделения заданного количества символов от данных текстового поля.

В результате выполнения данного поля получаться следующие значения Иванов И.И.

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

3.3. Запросы с группировкой.

Начальный этап работы с макетом запроса, аналогичен работе с запросом выборкой. В дальнейшем, после включения полей в макет запроса необходимо нажать пиктограмму групповых операций (рис. 9). В строке Групповые операции для полей по которым осуществляется группировка, остается слово Группировка. А для полей по которым необходимо сгруппировать данные, указывают функцию группировки (рис. 11).

4. Работа с формами.

Макеты форм удобнее создавать с помощью автоформ. Для создание формы на основании нескольких таблиц, удобнее использовать Мастер форм. Работа с мастером форм осуществляется в диалоговом режиме. После завершения создания макета на экране сразу открывается готовая форма (рис.12).

5. Работа с отчетами.

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

Р ис.11. Окно формирования групповых операций.

Р ис. 12. Окно формы созданной с помощью мастера форм.

Демонстрационный пример.

Создание БД «Товарооборот» в Microsoft Access

Ниже приведен порядок работы по созданию БД.

1. Создать пустую базу данных (Приложение Microsoft Office Access ) в своей папке с помощью контекстно-зависимого меню.

2. Создать Таблицы «Товары», «Покупатели» и «Продажа в кредит» средствами Microsoft Access.

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

2.1. На вкладке «Таблицы» выбрать способ «Создание таблицы в режиме конструктора».

2.2. Определяются имена полей таблицы и типы данных.

Например, для таблицы «Товары»:

Товар Текстовый

Фирма-изготовитель Текстовый

2.3. Определить для поля «Товар» свойство первичного ключа – индекс: Да(Совпадения не допускаются)

Определить поле «Товар» полем первичного ключа (устанавливается нажатием кнопки )

2.4. Определить название создаваемой таблицы - Товары и сохранить таблицу.

Проверить факт создания новой таблицы.

Указанные выше 2.1.-2.4. действия выполнить для двух других таблиц.

Список полей для таблицы «Покупатели»:

Покупатель Текстовый

Адрес Текстовый

Телефон Текстовый

Определить для поля «Покупатель» свойство первичного ключа – индекс: Да(Совпадения не допускаются)

Определить поле «Покупатель» полем первичного ключа (устанавливается нажатием кнопки )

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

Проверить факт создания новой таблицы.

Список полей для таблицы «Продажа в кредит»:

№ п/п Числовой

Покупатель Текстовый

Товар Текстовый

Цена Денежный

Первоначальный взнос Денежный

Годовая ставка в % Числовой

Срок кредита Числовой

Определить для поля «№ п/п» свойство первичного ключа – индекс: Да(Совпадения не допускаются)

Определить поле «№ п/п» полем первичного ключа (устанавливается нажатием кнопки )

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

Проверить факт создания новой таблицы.

ВНИМАНИЕ!

Для таблицы «Товары» свойства ключевого поля «Товар» должны совпадать со свойствами поля «Товар» в таблице «Продажа в кредит» (поле внешнего ключа).

.

Для таблицы «Покупатели» свойства ключевого поля «Покупатель» должны совпадать со свойствами поля «Покупатель» в таблице «Продажа в кредит» (поле внешнего ключа).

3. Определить схему данных – связь между таблицами.

3.1. Открыть окно «Схема данных», нажав на панели инструментов кнопку или выполнить команду «Сервис, Схема данных».

3.2. Добавить все таблицы.

3.3. Используя метод перетаскивания, переместите поле «Товар» из таблицы «Товары» на поле «Товар» в таблице «Продажа в кредит». Появится диалоговое окно для установки параметров связи (представлено ниже).

3.4. Используя метод перетаскивания, переместите поле «Покупатель» из таблицы «Покупатели» на поле «Покупатель» в таблице «Продажа в кредит». Появится диалоговое окно для установки параметров связи (представлено ниже).

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

4. Установить параметры подстановки для полей «Покупатель» и «Товар» таблицы «Продажа в кредит».

Подстановка позволит заносить данные в поля «Покупатель» и «Товар» таблицы «Продажа в кредит» при помощи списков.

5. Открыть поочередно таблицы (кнопка ) и занести данные в них.

Пример занесения данных в поля «Покупатель» и «Товар» таблицы «Продажа в кредит» при помощи списков.

6. Перейти на вкладку «Формы». Создать автоформы для просмотра и добавления данных в таблицы.

Для таблицы «Продажа в кредит» - в столбец.

Для таблицы «Покупатель» - ленточную.

Для таблицы «Товар» - табличную.

7. Перейти на вкладку «Запросы».

7.1. Создать простой запрос на выборку. Для этого нажать кнопку , в диалоговом окне выбрать пункт «Простой запрос».

Выбрать для запроса таблицу «Продажа в кредит».

Включить в запрос все поля этой таблицы, нажав кнопку . Затем выбрать для запроса таблицу «Товар» и включить в запрос поле «Фирма-изготовитель», нажав кнопку

Затем выбрать для запроса - подробный отчет.

При нажатии на кнопку «Готово» получим результат выборки.

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

7.2. Создать простой запрос на выборку. Для этого нажать кнопку , в диалоговом окне выбрать пункт «Простой запрос». Выбрать для запроса таблицу «Продажа в кредит» и включить в запрос поля «Товар» и «Цена».

Затем выбрать для запроса - итоговый отчет, вид итогов – сумма по полю «Цена».

При нажатии на кнопку «Готово» получим результат выборки.

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

7.3. Создать перекрестный запрос. Для этого нажать кнопку , в диалоговом окне выбрать пункт «Перекрестный запрос».

Выбрать для запроса таблицу «Продажа в кредит».

Поле «Товар» выберем в качестве источника данных для строк таблицы.

Поле «Покупатель» выберем в качестве источника данных для столбцов таблицы.

Данные поля «Цена» (сумма по полю) должны связать поля «Товар» и «Покупатель»

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

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

7.4. Создать запросы на выборку с критерием.

Для этого нажать кнопку , в диалоговом окне выбрать пункт «Конструктор».

Выбрать и добавить для запроса таблицу «Продажа в кредит».

Запросная форма будет выглядеть следующим образом.

Методом перетаскивания расположим в запросной форме поля «Покупатель», «Товар» и «Цена», укажем для последнего условие отбора (>20000). Сохраним запрос.

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

Создадим еще один запрос с критерием на совпадение значений. Повторим первых два действия по созданию запроса, а затем разместим в запросной форме представленные ниже поля и укажем для поля «Товар» в качестве условия отбора значение «Бумага для записей». Сохраним запрос.

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

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

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

Переместим курсор в пустой столбец и нажмем кнопку . Откроется окно построителя. В этом окне запишем выражение для нахождения значения «Конечная сумма».

Закроем окно построителя. В столбце вместо слов «Выражение1» запишем «Конечная сумма». Сохраним запрос.

Переместим курсор в пустой столбец и нажмем кнопку . Откроется окно построителя. В этом окне запишем выражение для нахождения значения «Ежемесячная выплата».

Закроем окно построителя. В столбце вместо слов «Выражение1» запишем «Ежемесячная выплата». Сохраним запрос.

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

8. Перейти на вкладку «Отчеты». Создать автоотчет в столбец для данных «Продажа в кредит». Для этого нажать кнопку , в диалоговом окне выбрать вид отчета и таблицу – источник.

Получим отчет следующего вида.

Обработка событий

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

Можно определить отклики на события при помощи процедур обработки событий.

Создание процедуры обработки события

  1. Откройте в режиме конструктора форму или отчет.

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

  3. Выберите вкладку События.

  4. Выберите свойство события для которого определяется процедура.

  5. Н ажмите кнопку и откройте окно построителя.

  6. Выберите элемент Программы для получения инструкций ,определяющих заголовок и конец процедуры обработки события Sub End Sub.

  7. Запишите инструкции обработки события

  8. Закройте окно модуля и сохраните процедуру.

Процедура обработки события выполняется каждый раз при возникновении этого события для объекта.

Событие До вставки (BeforeInsert)

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

Private Sub Form_BeforeInsert(Cancel As Integer)

MsgBox "сегодня " & Date

End Sub

Событие Выход

Определено для поля Дата поставки.Поясняет содержимое поля Объем поставки.

Private Sub дата_поставки_Exit(Cancel As Integer)

If Me![объем поставки] < 1000 Then MsgBox "малый обьем поставки"

End Sub

Событие До обновления

Определено для поля Дата поставки и проверяет введенную дату.

Private Sub дата_поставки_BeforeUpdate(Cancel As Integer)

If [дата поставки] > Date Then Cancel = True: MsgBox "неверная дата"

End Sub

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

Private Sub код_изделия_BeforeUpdate(Cancel As Integer)

Cancel = True

MsgBox "вы изменили код изделия ,его нельзя изменять, нажмите Esc"

End Sub

Событие определено для поля Артикул.До обновдения данных в этом поле выводится пояснение.

Private Sub артикул_BeforeUpdate(Cancel As Integer)

MsgBox "вы изменили артикул"

End Sub

Событие После обновления

Событие определено для поля Артикул.После изменения артикула выдается запрос на введение новой оптовой цены.

Private Sub артикул_AfterUpdate()

Me![оптовая цена] = InputBox("вв новую оптовую цену")

End Sub

С обытие Вход

Определено для поля Оптовая цена.Процедура расчитывает розничную цену изделия и выводит значение в окно вывода.

Private Sub оптовая_цена_Enter()

Dim c As Single

c = Me![оптовая цена] * 1.15

MsgBox "розничная цена " & c & "р."

End Sub