Файл: Механика и математическое моделирование самара издательство Самарского университета 2021.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.10.2023

Просмотров: 100

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

49
Рисунок 32 – Создание таблицы результатов сессии группы
Запрос на создание таблицы с отбором и добавлением полей
Создадим таблицу Ведомость пересдачи, добавив новое поле ФИО (фамилия с инициа- лами) и отбором студентов, не сдавших экзамен (Рисунок 33).
Рисунок 33 – Запрос на создание таблицы ведомости пересдачи
Создание пустой таблицы
С помощью запроса создадим пустую таблицу Студент 2020. Условие отбора для создания пустой таблицы Студенты показано ниже. Так как студентов с отсутствующим номером зачетки нет, то с критерием IsNull (отбор пустых значений) не будет отобрано ни одной записи – таблица будет пустой. Т.к. нельзя выводить одно и тоже поле Номер зачетки (Рисунок 34) дважды – в общем списке полей Студенты. * и отдельно, поэтому вывод на экран поля Номер зачетки от- ключен.

50
Рисунок 34 – Создание пустой таблицы
Создание таблицы уникальных значений в поле
Очень часто требуется из повторяющихся значений в поле создать список уникальных (не- повторяющихся) значений. Например, можно создать таблицу Список групп взяв их номера из поля Группа таблицы Студенты, где номера групп многократно повторяются. Включим свой- ство запроса Уникальные значения (Рисунок 35).
Рисунок 35 – Создание таблицы уникальных значений

51
После выполнения запроса получим таблицу списка групп:
Список групп
Группа
1103-010303D
1104-150303D
1105-010303D
1113-240301D
1114-240301D
Возможности запроса на создание таблицы
Запрос на создание таблицы позволяет:
1. Создавать копию таблицы.
2. Создавать таблицу из нескольких таблиц-источников.
3. Отбирать записи в новую таблицу.
4. Добавлять новые поля в создаваемую таблицу.
5. Создавать пустые таблицы.
6. Создавать таблицы уникальных значений полей.
ЗАПРОС НА УДАЛЕНИЕ
Удаление отобранных записей
Создадим запрос, удаляющий результаты сдачи сессии осеннего семестра из таблицы Сес-
сия (Рисунок 36).
Рисунок 36 – Запрос на удаление данных осеннего семестра

52
В запросе на удаление указывают только те поля, в которых имеется условие отбора
(Рисунок 37)!
Рисунок 37 – Лишнее поле в запросе на удаление
Предупреждение при выполнении запроса на удаление показано ниже (Рисунок 38).
Рисунок 38 – Предупреждение о количестве удаляемых записей

53
Удаление всех записей из таблицы
Если нужно удалить все записи из таблицы (очистить таблицу), то используем следующий запрос (Рисунок 39 – Удаление всех записей из таблицы).
Рисунок 39 – Удаление всех записей из таблицы
Особенности выполнения операции удаления через запрос
При выполнении запросов на удаление необходимо ориентироваться на схему данных (Ри- сунок 40).
Рисунок 40 – Схема данных базы данных Студенты


54
Рекомендации по созданию и выполнению запросов на удаление:
1. Перед выполнением запроса на удаление создавайте резервные копии таблиц, из ко- торых происходит удаление.
2. В запрос на удаление включают только те поля, в которых записывают условия от- бора
3. Удаление записей в таблице, у которой нет ни одной стороны связи "один" проис- ходит без проблем. В нашем случае это таблица Сессия.
4. Удаление записей в таблице на стороне "один" связи "один-ко-многим" (таблица
Студенты по отношению к таблице Сессия, таблица Группы по отношению к таб- лице Студенты) возможно, если включено свойство связи "Каскадное удаление". В этом случае происходит удаление записей на стороне "один" и соответствующих записей (если они есть) в другой таблице на стороне "много".
Возможности запроса на удаление
Запрос на удаление записей из таблицы позволяет:
1. Удалять отобранные записи.
2. Удалять все записи.
ЗАПРОС НА ОБНОВЛЕНИЕ
Обновление поля во всех записях
Создадим запрос на обновление, переводящий всех студентов на следующий курс учиты- вая структуру номера группы. Номер курса – это второй символ в номере группы (Рисунок 41).
Рисунок 41 – Структура номера группы
Номер группы присутствует в связанных таблицах Группы (сторона один) и в таблице
Студенты (сторона много).
Обновление номера группы на стороне много невозможно, т.к. новых групп нет на стороне
один. Поэтому обновление групп выполняем в таблице Группы, а за счет включенного свойства связи Каскадное обновление (Рисунок 42) произойдет изменение номеров групп на стороне
много в таблице Студенты.

55
Рисунок 42 – Использование свойства каскадного обновления
Вид запроса в конструкторе представлен ниже (Рисунок 43).
Рисунок 43 – Запрос на обновление номера группы
В строку Обновление поля Группа введем выражение для увеличения курса на единицу
(второй символ). Поле Группа текстовое, поэтому собираем новый номер группы с помощью операции & (слияние) как текст из номера института, номера курса, увеличенного на единицу, и оставшихся десяти символов (порядкового номера группы на курсе, направления подготовки):
Left([Группа];1) & (Mid([Группа];2;1)+1) & Right([Группа];10),

56 где:

Left([Группа];1) – функцией Left() вырезаем первый символ слева (институт);

(Mid([Группа];2;1)+1) – функцией Mid() вырезаем второй символ (номер курса), добавляем единицу (увеличиваем номер курса);

Right([Группа];10) – функцией Right() вырезаем десять символа справа (поряд- ковый номер группы и направление подготовки).
Особенности выполнения запроса на обновление
1. При выполнении запросов на обновление необходимо ориентироваться на схему данных и связи между таблицами.
2. Перед выполнением запроса на обновление создают резервные копии таблиц, в ко- торых происходит обновление.
3. В запрос включают только обновляемые поля и поля, по которым производится от- бор.
4. Обновление данных в поле на стороне «много» возможно, если в связанном поле на стороне «один» есть новые значения. Например, если мы изменяем номера групп в таблице Студенты, то новые номера групп должны быть в таблице Группы;
5. Обновление данных в поле на стороне «один» невозможно, если в связанной таб- лице в поле на стороне «много» есть такие значения. Для обновления записей в та- ких случаях включите свойство связи Каскадное обновление. Например, если мы изменяем номер группы в таблице Группы (сторона один), то в таблице Студенты старый номер группы (сторона много) изменится на новый во всех записях, если включено свойство связи Каскадное обновление на этой связи.
ЗАПРОС НА ДОБАВЛЕНИЕ
Для добавления (импорта) новых данных в таблицы базы данных используется запрос на добавление. Данные можно добавить из таблиц текущей базы данных, другой базы данных или таблиц Excel.
Добавление данных из таблицы Excel
Необходимо добавить сведения о новых студентах в таблицу Студенты из таблицы Excel
Новые студенты (Таблица 11).


57
Таблица 11 – Фрагмент данных таблицы Excel Новые студенты
Номер зачетки
Группа
Фамилия
Имя
Отчество
097026 1103-010303D КОЛОСОВ
ВЛАДИМИР ВЛАДИМИРОВИЧ
097019 1103-010303D КОНОВАЛЮК
ВЛАДИСЛАВ ВЛАДИМИРОВИЧ
097016 1103-010303D КОТКИН
ГРИГОРИЙ ВЛАДИМИРОВИЧ
097017 1103-010303D ЛЕХИН
ДМИТРИЙ
ВЯЧЕСЛАВОВИЧ
097029 1103-010303D МОРОЗОВ
ЕВГЕНИЙ
ВЛАДИМИРОВИЧ
097028 1103-010303D МИТИН
ЕВГЕНИЙ
ВЛАДИМИРОВИЧ
097008 1104-150303D МАКСИМЕНКОВА ЕЛЕНА
ВЛАДИМИРОВНА
097009 1104-150303D МАКСИМОВА
ЕЛЕНА
ВЛАДИМИРОВНА
097020 1104-150303D ВИТВИНИНА
ЕЛЕНА
ВИКТОРОВНА
097006 1104-150303D БЕЗДВЕРНАЯ
ЗОЯ
ВЛАДИМИРОВНА
097012 1104-150303D АНДРЕЕВА
ИННА
ВЛАДИМИРОВНА
При выполнении запросов на добавление нужно ориентироваться на схему данных. В нашем случае таблицы Группы и Студенты связаны по полю Группа, поэтомудобавление но- вых записей сразу в таблицу Студенты невозможно, т.к. в связанной таблице Группы нет новых групп и возникнет ошибка «Нарушение уникальности ключа».
Необходимо сначала добавить новые группы в таблицу Группы, а затем добавлять новых студентов в таблицу Студенты.
Связывание таблицы Excel с базой данных
Сначала необходимо связать таблицу Excel Новые студенты с базой данных. Для связы- вания используем команду:
Вкладка Внешние данные → Группа команд Импорт и связи → Команда Excel.
По шагам выполняем связывание (Рисунок 44 – Рисунок 47).

58
Рисунок 44 – Шаг 1. Выбор источника и способа связывания
Рисунок 45 – Шаг 2. Заголовки столбцов

59
Рисунок 46 – Шаг 3. Имя таблицы Excel в базе данных
Рисунок 47 – Шаг 4. Завершение связывания
После окончания связывания в области навигации появится объект – связанная с базой дан- ных таблица Excel (Рисунок 48). В отличие от обычной таблицы базы данных в связанной таб- лице Excel нельзя изменять данные и структуру, однако использовать данные этой таблицы можно в любых запросах. Если мы изменим данные в связанной таблице непосредственно в Ex- cel, то эти данные изменятся и в связанной таблице в базе данных.
Рисунок 48 – Объект – связанная с базой данных таблица Excel

60
Запрос на добавление данных из таблицы Excel
После связывания создаем запрос на добавление данных из таблицы Новые студенты в таблицу Студенты (Рисунок 49). Получателем является таблица базы данных Студенты. Значе- ния добавляются не во все поля таблицы Студенты.
Рисунок 49 – Запрос на добавление данных из связанной таблицы Excel
В запросах на добавление в качестве таблиц-источников можно таким же образом исполь- зовать обычные таблицы базы данных и условия отбора.
Особенности добавления записей через запрос
При выполнении запросов на добавление необходимо ориентироваться на схему данных:
Если в добавляемых записях дублируются значения ключевых полей таблицы-получателя, то записи не будут добавлены из-за нарушения уникальности ключа. Не включайте в запрос ключевое поле-счетчик таблицы-источника. Если ключевое поле таблицы-источника смысловое
(заполняется путем ввода), то проверьте, нет ли таких же значений ключевого поля в таблице- получателе.
Записи не удается добавить в четырех случаях: ошибка преобразования типа, нарушение уникальности ключа, нарушение блокировки, нарушение условий на значение.
Если это происходит, то появляется предупреждающее сообщение. В нем указывается при- чина и количество не добавленных записей.
В нашем случае повторное добавление записей из таблицы Excel невозможно, так как бу- дут повторяться номера зачеток, а номер зачетки – ключевое поле в таблице Студенты.


61
ТРЕБОВАНИЯ К ЗАПРОСАМ
При создании запросов необходимо выполнять следующие требования:
1. Осмысленность запросов: выводить необходимые поля в нужном порядке.
2. Обязательная сортировка в запросах, сортировка по нескольким полям должна быть оправданной.
3. В запросах с итогами обычно поле группировки одно, и несколько полей для подве- дения итогов. Группировка по ключевым полям не имеет смысла – в них значения не повторяются и группу для подведения итогов образовать невозможно.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Задачи, решаемые запросами на изменение.
2. Перечислите средства для создания запросов на изменение в Access.
3. Перечислите типы запросов на изменение в Access.
4. Каким образом на выполнение запросов на изменение влияют связи между табли- цами?

62
6. ФОРМЫ
НАЗНАЧЕНИЕ И ИСТОЧНИКИ ФОРМ
Формы для ввода и редактирования данных
Эти формы построены на исходных таблицах и предназначены для ввода и редактирования данных в таблицах (Рисунок 50).
Рисунок 50 – Форма для ввода и редактирование
Формы для просмотра
Эти формы предназначены для просмотра данных, поэтому операции редактирования в них запрещены. Источником таких форм чаще всего является запрос (Рисунок 51).
Рисунок 51 – Форма для просмотра
Особым видом формы являются подчиненные формы. У них два источника – таблицы или запросы. Данные из двух источников отображаются на одном экране (Рисунок 52).
Рисунок 52 – Подчиненная форма

63
Формы – диаграммы
Источником формы – диаграммы может быть таблица или запрос (Рисунок 53).
Рисунок 53 – Форма-диаграмма
СРЕДСТВА ДЛЯ СОЗДАНИЯ ФОРМ
Все средства для создания форм отображены на вкладке Создание в группе команд Формы
(Рисунок 54).
Рисунок 54 – Команды для создания форм
Мастера форм
Мастера позволяют быстро создать заготовку будущей формы, которую затем дорабаты- вают в конструкторе. С помощью мастера создают формы для ввода и редактирования, формы для просмотра (в том числе подчиненные), диаграммы. Возможности мастера ограничены, кроме того, мастера не позволяют редактировать формы.
В группе команд Формы доступны следующие мастера:
1. Форма (форма в один столбец).
2. Пустая форма.
3. Мастер форм – позволяет создать формы в один столбец, ленточные, табличные форму, подчиненные.

64
В команде Другие формы предусмотрены следующие мастера:
1. Несколько элементов (ленточная форма).
2. Таблица (табличная форма).
3. Разделенная форма (форма в один столбец совмещенная с табличной формой).
Конструктор форм
В конструкторе можно создать и отредактировать любую форму. Чтобы не начинать созда- ние формы «с нуля», обычно сначала создают форму с помощью мастера, а затем редактируют ее в конструкторе. Конструктор форм вызывается командой:
Вкладка Создание Группа команд Формы Команда Конструктор форм.
Форма в конструкторе состоит из разделов Заголовок формы, Примечание формы, Об-
ласть данных, Верхний колонтитул, Нижний колонтитул. В разделах формы размещают дан- ные (поля источника, свободные поля), элементы управления (кнопки, поля со списками), под- писи (Рисунок 55).
Рисунок 55 – Форма для ввода-редактирования в конструкторе форм
Команды для работы с формой в конструкторе находятся в группе вкладок Инструменты
конструктора форм, состоящей из двух вкладок Конструктор и Упорядочить.
ПОРЯДОК СОЗДАНИЯ ФОРМ
Сначала с помощью соответствующего мастера форм создаётся заготовка формы нужного вида, затем в конструкторе форм в неё добавляются необходимые надписи, кнопки, списки и другие элементы управления (ЭУ) и оформления (Рисунок 56).


65
Рисунок 56 – Порядок создания формы
Результат преобразования формы в один столбец, созданной мастером, в форму для ввода и редактирования показан ниже (Рисунок 57).
Рисунок 57 – Форма для ввода и редактирование покупок
В этих формах недопустимы кодовые поля, если они не имеют смысла.
На стороне «один» кодовые поля в форме для ввода и редактирования должны быть уда- лены. На стороне «много» кодовые поля заменяются полем со списком, источником для кото- рого является смысловое поле на стороне «один». На стороне «много» смысловые поля заменя- ются полем со списком, источником для которого является смысловое поле на стороне «один».
Для логических полей ставится элемент управления «флажок».
Для полей, имеющих небольшой набор фиксированных значений (2-5), используют эле- мент управления «переключатель».
Для полей, имеющих несколько фиксированных значений, используют элемент управле- ния «поле со списком фиксированных значений».
Результат преобразования ленточной формы в форму для просмотра показан ниже
(Рисунок 58).

66
Рисунок 58 – Форма для просмотра Стоимость покупок
В этих формах недопустимы кодовые поля, если они не имеют смысла. На стороне «много» эти поля заменяют смысловыми полями со стороны «один», на стороне «один» такие поля про- сто удаляют, недопустимы также поля со списками – они заменяются простыми полями.
В формах для просмотра запрещается добавление, изменение и удаление записей.
Подчиненная форма создается из двух связанных таблиц
Результат преобразования подчиненной формы из мастера в подчиненную форму для про- смотра показан ниже (Рисунок 59).
Рисунок 59 – Подчиненная форма Товары в покупках
Для создания формы-диаграммы сначала с помощью мастера
1   2   3   4   5