
- •Г. Н. Тагил
- •Содержание
- •Глава 1. Создание и поиск информации в однотабличной бд 4
- •Глава 2. Создание и поиск информации в многотабличной базе данных 19
- •Глава 3. Использование элементов программированияпри создании многотабличной базы данных в Access 33
- •Введение
- •Глава 1. Создание и поиск информации в однотабличной бд Понятие бд и субд
- •Реляционная бд
- •1.1 Базы данных в Excel
- •З адание для самостоятельной работы
- •Крупнейшие промышленные корпорации
- •Практические задания
- •1.2. Создание однотабличной бд в Access
- •Описание структуры таблицы
- •З аполнение таблицы данными
- •П оиск и сортировка данных в таблице
- •Ф ильтрация данных в таблице
- •1.3. Создание запросов к однотабличной базе данных и их представление
- •З апросы на выборку
- •З апросы на выборку с условием
- •Запросы с параметром
- •З апросы с вычислением
- •Задание для самостоятельной работы
- •Вопросы по главе 1
- •Глава 2. Создание и поиск информации в многотабличной базе данных
- •2.1. Создание таблиц и связей в Access. Формы ввода для многотабличной базы данных
- •Связи между таблицами
- •Создание форм ввода. Подчинение в формах ввода
- •2.2. Создание запросов к многотабличной базе данных Простые запросы
- •Создание запросов в конструкторе
- •Запросы на действие
- •З адание для самостоятельной работы
- •2. 3. Создание форм и отчетов к многотабличной базе данных
- •З адание для самостоятельной работы
- •Вопросы к заданию
- •Глава 3. Использование элементов программированияпри создании многотабличной базы данных в Access
- •3.1. Импорт данных, индексация таблиц, маски ввода
- •Обратите внимание, что в этих полях повторения не допускаются!
- •С вязывание таблиц
- •Заполнение связанных таблиц через форму ввода. И спользование элементов программирования при вводе данных
- •3 .2. Запросы с элементами программирования
- •Запросы с использованием групповых операций
- •Запросы на действие
- •З адание для самостоятельной работы
- •3.3. Эффективное представление данных с помощью форм
- •3.4. Слияние с Word
- •Вопросы для самостоятельной работы
- •Приложение 1. Типы данных в Access
- •Приложение 2. Групповые операции
- •Приложение 3. Виды запросов
- •Приложение 4. Примерные варианты контрольной работы Вариант 1
- •Вариант 2
- •Приложение 5. Тематика индивидуальных проектов
- •Библиотека
- •Книжный магазин
- •Приложение 6. Рекомендуемая литература
Заполнение связанных таблиц через форму ввода. И спользование элементов программирования при вводе данных
Когда таблицы связаны данные в них должны вноситься одновременно, если обеспечивается контроль целостности данных. Поэтому следует создать специальные формы ввода. В зависимости от связи они могут быть связанными, обычными (для всех виды связей), подчиненными (для связи один ко многим). Создадим обычную форму для ввода данных персонала магазина и учета отработанных ими смен. Воспользуемся мастером форм, где в качестве источника сначала укажем все поля таблицы «Персонал», а затем все кроме ключевого поля таблицы «Учет работы персонала». Для разметки формы будем использовать ленточный тип, в качестве фона можно выбрать любой.
О
ткрыв,
созданную форму, вы увидите, что она
несколько неудобна для ввода данных.
Поэтому в режиме конструктора изменим
структуру созданной нами формы. Сначала
необходимо создать все три области
формы (Заголовок, область данных,
примечание формы), если какая-то из них
отсутствует. Для этого зайдите в режиме
конструктора формы в меню Вид и
выберите там команду Заголовок/Примечание
формы. Для того, чтобы увеличить или
уменьшить область ее необходимо растянуть
с помощью передвижения соответствующей
границы. Измените созданную вами форму,
как показано на рис. 3.8.
Чтобы не вводить каждый раз пол работника (их всего два) создадим раскрывающийся список, где будет можно выбрать пол. Обратите внимание, что при создании элементов формы с панели инструментов ToolBox необходимо, чтобы был включен режим мастеров. Сначала удалите существовавшее до этого текстовое поле, затем выберите элемент раскрывающийся список на панели инструментов ToolBox. После размещения списка в нужном месте в появляющемся диалоге необходимо выбрать, что в «поле со списком» будет введен фиксированный набор значений и нажать кнопку «Далее». В появившемся снова диалоговом окне следует указать, что в списке будет один столбец и внести его значения.
Д
алее
следует указать, что данные выбранные
в списке следует сохранять в поле, имя
которого нужно выбрать в имеющемся
справа списке (см. рис. 3.9), после чего
следует нажать кнопку «Далее», указать
имя раскрывающегося списка и выбрать
команду «Готово». Аналогично создайте
список, отражающий месяца года, с той
лишь разницей, что хранить значения в
каком-то поле не надо, значение их нужно
запомнить.
Для создания кнопки закрытия используйте диалог кнопки. Слева выберите «Работа с формой», а справа «Закрыть форму». После чего можно нажать «Готово».
Заполните форму по персоналу для 2 продавцов, 1 продавца-консультанта, 1 менеджера по продажам, 2 шоферов, 1 уборщицы, 2 охранников, 1 директора, 1 маркетолога, 1 менеджера по кадрам и (12 человек).
Создайте подчиненную форму по отношению к имеющемуся ассортименту товаров для оформления заказов клиентов. В режиме просмотра («Открыть») внесите картинки товаров и заполните для каждого из имеющихся клиентов не менее 2 разных заказов.
3 .2. Запросы с элементами программирования
Создадим запрос, рассчитывающий заработную плату для каждого работника, с учетом того, что ему назначается премия 10 % от оклада в случае, если отработано боле 24 смен и премия 25 %, если отработано 30 и более смен. В данном случае создадим запрос с вычислениями через построитель выражений, и будем использовать функцию управления IIf, схожую по своей структуре со стандартной функцией ветвления:
IIf(<условие>;<действие, выполняющиеся, когда условие верно >;<действие, выполняющиеся, когда условие не верно>)
Первоначально необходимо вычислить количество отработанных каждых работником смен, то есть сложить все смены(даты). Не забудьте использовать функцию модуля abs() для того, чтобы выражение получилось положительным (см. рис. 3.10).
П
осле
этого запрос необходимо сохранить,
чтобы использовать вычисленное поле.
Функция IIf в
построителе выражений будет выглядеть
следующим образом:
Зарплата: IIf([Количество смен]>=30;[Персонал]![Оклад за смену]*[Количество смен]*1,25;IIf([Количество смен]>24;[Персонал]![Оклад за смену]*[Количество смен]*1,1;[Персонал]![Оклад за смену]*[Количество смен]))
Создадим запрос, выдающий приветствие работнику магазина в зависимости от пола: Уважаемый …! Уважаемая…!
Здесь мы снова воспользуемся функцией IIf и строковыми функциями. Обратите внимание, что при сложении строк образуется новая строка, объединяющая обе, но без пробела. Пробел добавляется искусственно:
Обращение: IIf([Персонал]![Пол]="М";"Уважаемый "+[Персонал]![Фамилия] +
” ”+[Персонал]![Имя] +” ”+[Персонал]![Отчество] +” ”+"!";"Уважаемая "+[Персонал]![Фамилия] +” ”+[Персонал]![Имя] +” ”+[Персонал]![Отчество]+ ” ”+"!")
Р
ассчитайте прибыль от продаж для определенного периода. Здесь мы составим сначала запрос, рассчитывающий стоимость проданных товаров. В построителе выражений для расчета стоимости поле количество возьмем из таблицы «Заказы», а цену из таблицы «Товары». Затем зададим параметры на начальную и конечную дату и поставим в условие соответствующие ограничения (см. рис. 3.11).
После этого по отношению к запросу с расчетом сумм продаж в определенный период создадим простой запрос, рассчитывающий сумму стоимости проданного товара, то есть прибыль.