Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1174-access-2003

.pdf
Скачиваний:
32
Добавлен:
01.10.2016
Размер:
3.25 Mб
Скачать

Левой кнопкой мыши схватить код товара в Справочнике и перетащить на такие же поля код товара в других таблицах (естественно, все эти действия повторить для каждой из таблиц отдельно!)

20

Обеспечение целостности7 Объединение, а затем из Параметров объединения выберем 2-ой тип (отношения типа 1 : 1 для ключевых полей и 1: для ключевого и не ключевого полей ставятся автоматически дин-ко-

многим - один и тот же товар может поступать несколько раз за день или несколько дней) и Создать. Если что-то не так - изменить свойства связи можно через контекстное меню линий связи.

После всего этого схема должна выглядеть следующим образом:

7 Это чтобы записи связанных таблиц соответствовали друг другу. Например, для нашей БД нельзя ввести код товара в подчиненные таблицы, если нет соответствующего кода в Справочнике. И, наоборот: при удалении записи со Справочника удаляются все подчиненные записи во всех связанных таблицах, если установлены параметры Каскадное обновление (удаление) связанных полей

21

рис. Схемы данных

(Вот здесь возврат назад к вводу данных в таблицы, стрелочка слева на WEB-панели – для тех, кто пользуется электронной версией самоучителя. Остальным просто вернуться назад на соответствующую страницу 13 брошюры)

22

4. Формы

Часто таблицы лучше просматриваются и редактируются в виде

Форм.

Попробуем создать простые формы для наших таблиц тремя вариантами (пока только ознакомьтесь, задание ниже) :

1.Создать Автоформа: в столбец и выбрать таблицу.

2.Создать Мастер форм и далее по шагам.

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

Создать Мастер форм выбрать Справочник, ОК со Справочника все поля, тут же выбрать таблицу Прибыло, оттуда все записи, кроме кода товара (он уже выбран) далееПодчиненная форма далее Табличная Стиль любой,

Готово. В окне Формы появятся две формы (см. рис.).

Задание 4.1. Создать для всех таблиц первыми 2 способами (автоформа и Мастер) по одной форме, поупражняться вводом новых записей и редактированием старых, после этого создать подчиненную форму Справочник 1 по шагам варианта 3. Картинки прилагаются. Простые первые 4 формы самостоятельно, вид одной из них приводится. Для подчиненной пояснений больше.

Это простая форма для таблицы Справочник (первые 2 способа), а ниже будут картинки для подчиненной (3 способ).

Ниже вариант, как строить подчиненные (связанные между собой) формы.

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

23

24

Вид подчиненной формы:

Подчиненная форма состоит из двух форм

5. Запросы

Запросы – это фактически те же таблицы, только выбранные и сконструированные из разных связанных таблиц в виде одной новой.

5.1. Простые запросы на выборку

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

Из двух таблиц Справочник и Ост_нач создадим первый запрос.

Создать простой запрос выбрать таблицу Справочник, оттуда

Код товара и Наименование, выбрать другую таблицу Ост_нач, оттуда поле Ост подробный имя неизменим, Готово. Картинки приведены ниже.

25

У Вас должен получиться примерно такой запрос. В данном запросе выдаются все записи из Справочника, но выводить записи с пустым8 значением остатка нерезонно. Поэтому построим другой запрос без пустых записей чуть по-другому, в режиме Конструктора.

Другой вариант того же запроса:

8 Не нулевым, а именно пустым, т.к. не все товары отражены в таблице Ост_нач. Нулевое и пустое в БД – две большие разницы, их можно свести только через функцию Nz. С ней мы еще встретимся…

26

Создание при помощи конструктора Поочередно добавим таблицы

Справочник и Ост_нач, закрыть, перетащим мышью Код товара со справочника в поле первое (см.), а третье поле (Остаток нач) вставим для разнообразия чуть по-другому: щелчок на пустое третье поле запроса, раскроется список доступных полей, из них и выберем нужный

Условие отбора >0, и закроем, сохранив запрос под именем по умолчанию.

И у нас получится то, что надо.

27

МаленькиехитростибольшойБД.

Иногда при создании запросов могут выдаваться сообщения о

«невозможности создать запрос из-за неоднозначно определенных связей между таблицами». Ничего страшного – откройте схему данных и удалите ненужные связи и копии таблиц. Они появились автоматически во время наших упражнений. Мы ведь только учимся, а «учиться на собственных ошибках – наша задача, ибо только те знания являются наиболее прочными и фундаментальными, которые получены собственным трудом и умом»9.

МаленькиехитростибольшойБД.

Иногда вместо подобных условий отбора проще в окне запроса переустановить связь по первому типу, когда связанные поля обеих таблиц совпадают. Результат тот же, но самое интересное типы связей в схеме данных не изменились, а наша новая связь как бы локальная, только для данного запроса. Но об этом я уже где-то говорил

Самостоятельно создайте аналогичный запрос на Остаток товаров конечный, тоже 2 разновидности. Теперь у вас 4 запроса и друг

(помощник).

9 Смотри ПСНС, стр.12.11.03

28

Самостоятельная 4.1. Создать запросы на выборку из таблицы Прибыло (наименование из справочника) и озаглавьте Сам411-Сам415:

Всех товаров за сегодняшний день (внутреннее время компьютера)

Всех товаров за вчерашний день

Всех товаров за вчерашний день со сроком хранения 1 сутки

Всех товаров группы 2, поступивших за последний месяц

Всех товаров с усл. отбора по № накл. <>0 (имя по умолч.) Запрос 3)

5.2. Перекрестный запрос

Перекрестный запрос подсчитывает сумму, среднее, число значений или выполняет другие статистические расчеты, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой — заголовки строк. Более наглядно посмотрим на примере. Но для начала создадим запрос попроще из

Справочника и Прибыло:

Создать Простой запрос выбрать Код и Наим из Справ, другие с

Прибыло Итоговый, Итоги, галочка в поле кол-во на Sum выбрать интервал по дате и времени просмотр, готово.

Получилась примерно такая петрушка. Т.к. в Прибыло много записей с одинаковым кодом, то произошла автоматическая группировка записей по умолчанию – как раз то, что нам надо. В новых именах полей присоединенный индекс First означает, что из нескольких значений высветился лишь первый, зато сумма итоговая по количеству уже подсчитана.

Следуйте инструкциям диалогового окна и никогда не ошибетесь!!!

P.S. Не ошибается только тот, кто ничего не делает

29

Соседние файлы в предмете Специальные компьютерные технологии