- •Лабораторные работы
- •1. Настройка параметров приложения Цель работы: обеспечение удобства работы с субд. Общие сведения
- •Никогда не открывайте файлы, находящиеся на дискетах!
- •Задание
- •Порядок выполнения работы Создание рабочей папки
- •Создание группы программ в главном меню
- •Создание ярлыка
- •Задание свойств ярлыка
- •Проверка режима запуска
- •Задание параметров субд
- •Результат работы
- •2. Создание таблицы базы данных для хранения сведений о работниках
- •Общие сведения
- •Заполнение данными
- •Цель работы – моделирование процесса создания общей бд предприятия на основе бд подразделений.
- •Цель работы – выбор из бд группы данных.
- •Фильтр это механизм, позволяющий отображать только записи, удовлетворяющие определенному условию.
- •Фильтр по выделенному
- •Порядок следования полей
- •Расширенный фильтр
- •Кавычки для текстовой константы и квадратные скобки для имени поля.
- •Снятие фильтра
- •Другие способы применения фильтра
- •Задание
- •Результат работы
- •5. Сортировка данных в таблице Цель работы – освоение способов представления данных в отсортированном виде. Общие сведения
- •Сортировка по одному полю
- •Сортировка по нескольким полям
- •Расширенная сортировка
- •Задание
- •Результат работы
- •6. Разработка запросов к одной таблице
- •Общие сведения
- •Задание
- •Порядок выполнения работы Работа с запросами на выборку
- •Работа с запросами на обновление
- •Цель работы – получение сводной информации из таблицы.
- •Задание
- •Порядок выполнения работы
- •Результат работы
- •8. Создание отчета Цель работы – представление данных в форме отчета. Общие сведения
- •Создание отчета
- •Структура отчета
- •Группировка данных в отчете
- •Задание
- •Порядок выполнения работы Создание черновика отчета
- •Экран создания отчета
- •Инструменты для создания отчета
- •Формирование текстового объекта
- •Поле вывода
- •Работа с элементами оформления
- •Никогда не допускайте перехода линий и прямоугольников из одной области отчета в другую!
- •Порядок создания групп в отчете
- •Вычисления для групп
- •Свойства отчета
- •Результат работы
- •9. Разработка почтовых наклеек
- •Общие сведения
- •Задание
- •Порядок выполнения работы
- •Результат работы
- •10. Создание экранной формы
- •Цель работы – облегчение ввода и корректировки данных
- •В таблицах.
- •Общие сведения
- •Особенности работы с полями в форме
- •Результат работы
- •11. Создание файла полученной заработной платы
- •Цель работы – подготовка к одновременной работе
- •С несколькими таблицами.
- •Общие сведения
- •Задание
- •Порядок выполнения работы Окончательная проверка правильности таблицы кадры
- •Способы выполнения задания
- •Создание структуры таблицы зарплата
- •Запись в полученный файл сумм за один месяц
- •Запись сумм за последующие месяцы
- •Проверка новой таблицы
- •Создание запроса, сразу решающего задачу в полном объеме
- •Проверка правильности заполнения таблицы зарплата
- •Результат работы
- •12. Просмотр сумм зарплаты Цель работы – получение информации из двух таблиц. Общие сведения
- •Связь между таблицами бд является механизмом, позволяющим выбирать из них нужные данные.
- •Задание
- •Порядок выполнения работы
- •Результат работы
- •13. Работа со связью-объединением Цель работы – исследование связи-объединения. Общие сведения
- •Задание
- •Порядок выполнения работы
- •Результат работы
- •14. Введение кодов договоров Цель работы – подготовка к установлению нескольких связей. Общие сведения
- •Задание
- •Порядок выполнения работы
- •Результат работы
- •15. Установление связи между тремя таблицами Цель работы – получение данных из трех связанных таблиц. Общие сведения
- •Цель работы – создание единого меню для работы с базой данных.
- •Кнопочная форма представляет собой панель управления приложением.
- •Создание кнопочных форм
- •Работа с кнопочной формой
- •Редактирование кнопочной формы Конструктором
- •Задание
Способы выполнения задания
Для создания таблицы ЗАРПЛАТА существует два основных пути.
1. Создание структуры новой таблицы и последующее поэтапное заполнение ее данными, в основном с помощью копирования данных. Этот путь интуитивно понятен, разбит на последовательные простые шаги, но достаточно трудоемок и может привести к ошибкам.
2. Создание запроса, который все сделает автоматически. При этом потребуются некоторые усилия на создание самого запроса. Запрос должен быть тщательно проверен, так как при ошибке в запросе, связанном с изменением данных, может произойти их потеря.
Выбор остается за Вами. При защите работы его следует обосновать. Лучше всего проверить оба пути и сравнить их.
Ниже приводятся рекомендации по выполнению необходимых действий для каждого из двух способов.
Создание структуры таблицы зарплата
Для успешного копирования и поиска данных поле табельного номера должно совпадать по всем параметрам (имени, типу, размеру) с одноименным полем таблицы КАДРЫ.
Хорошим способом обеспечения этого условия является копирование структуры таблицы КАДРЫ в новую таблицу и последующая корректировка структуры последней. Для этого скопируйте закрытую таблицу и вставьте ее в ту же базу данных под новым именем. Выберите опцию Копировать только структуру. Откорректировать структуру новой таблицы можно в Конструкторе.
Запись в полученный файл сумм за один месяц
Скопируйте из открытой таблицы КАДРЫ все табельные номера и вставьте их в соответствующее поле таблицы ЗАРПЛАТА.
Далее, поскольку зарплату все получали в одном месяце, используйте для заполнения поля Месяц запрос на обновление поля Месяц для всех записей.
В реальном случае ввод данных о полученных суммах – очень ответственная задача. Суммы можно проставить вручную в открытой таблице ЗАРПЛАТА. Следует вводить различные суммы зарплат.
Запись сумм за последующие месяцы
Ненамного сложнее и занесение сумм следующего месяца. Список табельных номеров заносится аналогично, путем копирования. Для заполнения месяца создается запрос на обновление, в котором следует указать, что обновляются только пустые значения. Условие в запросе имеет вид
="" Or Is Null .
Проверка новой таблицы
Просмотрите результаты своей работы. При наличии ошибок (например, одинакового месяца для всех записей) следует откорректировать данные вручную.
Создание запроса, сразу решающего задачу в полном объеме
Имеется проблема создания запроса, результатом которого будет таблица (ЗАРПЛАТА), содержащая большее число записей, чем исходная (КАДРЫ).
До сих пор изучались только запросы на выборку, обновление и удаление. Ни у одного из них результат по количеству записей не может быть больше, чем исходная таблица. Существует еще запрос на создание таблицы. Он аналогичен запросу на выборку, но записывает результат в новую таблицу. Запрос этого типа можно было бы применить, если бы требовалась зарплата только за один месяц.
Вы уже сможете создать запрос на выборку, который даст нужный результат для одного месяца. Для этого в запросе, озаглавленном ОДИН_МЕСЯЦ, следует
взять из таблицы КАДРЫ поле табельных номеров;
создать вычисляемое поле Месяц: "Январь" ;
создать вычисляемое поле НоваяСумма: [Оклад]*1,1, в котором в очень упрощенном виде рассчитывается сумма зарплаты с премией 10%.
Проверьте, правильно ли выполняется запрос.
Суть дальнейшей задачи заключается в том, чтобы объединить несколько таких запросов, отличающихся только названием месяца. Для этого имеется средство – запрос на объединение. К сожалению, для него нет Конструктора и его требуется создавать на языке SQL (Structured Query Language).
На самом деле Конструктор автоматически создает и сохраняет все созданные запросы на этом языке. При выполнении запроса выполняется команда SQL. При открытии запроса в режиме Конструктора по команде SQL формируется табличный вид запроса, который Вы уже умеете корректировать.
В Конструкторе запросов для запроса ОДИН_МЕСЯЦ следует выбрать Режим SQL. Появится строка команды SQL. Если Вы знаете английский язык, то прочитать ее не составит труда. Выделите весь текст команды и скопируйте его в буфер обмена.
Создайте новый запрос в режиме Конструктора. Не выбирайте для него таблиц-источников. Не заполняйте таблицу данными. Выберите меню à Запрос à Запрос SQL à Объединение. Вы получите окно с текстом команды SQL. Текст начинается со слова SELECT.
Полностью сотрите содержимое окна и замените его на текст запроса ОДИН_МЕСЯЦ из буфера обмена. Вы получили команду, которая:
начинается со слова SELECT;
имеет заключенную в кавычки константу "Январь";
оканчивается точкой с запятой. Это конец всей команды.
Запрос на объединение содержит несколько фрагментов SELECT, объединенных словом UNION. Поэтому:
вставьте текст из буфера еще один раз;
замените точку с запятой в середине команды словом UNION, отделенным пробелами от остального текста;
замените во втором фрагменте слово "Январь" на слово "Февраль".
Попробуйте выполнить полученный запрос. В случае успеха добавьте в текст команды третий фрагмент для месяца "Март".
Создайте запрос создания таблицы, основанный на полученном запросе на объединение.
Внимание. Запрос на объединение не может одновременно являться запросом на создание таблицы, но запрос на создание таблицы может брать данные из запроса на объединение.
Выполнение последнего из созданных запросов приведет к желаемому результату.
Здесь был представлен новый тип запросов. Кроме того, было показано, как решить задачу преобразования таблиц с помощью запросов, от постановки задачи до получения результата.