1174-access-2003 (546951), страница 2
Текст из файла (страница 2)
Т.к. основным поставщиком является ОАО «Хлеб»,то его оставим по умолчанию.√ Дату поступления также сделаем по умолчанию текущую(Функция Date () без параметра из построителя выражений, можнонабрать вручную, а лучше вызвать построитель). Дополнительноограничим, чтобы введенная дата не превышала текущую (Условие назначение <=Date).Ниже окно построителя и пример выбора встроенной функции Date.Построитель выражений – это… или знакна панели инструментов.Когда пользуетесьпостроителем, то тщательновыбирайте выражения,удаляйте лишние пробелыЗдесьВыбрать - 4. что. – извлечь откуда-нибудь все без остатка. В. все запасы(См.
Толковый словарь русского языка С.И.Ожегова и Н.Ю.Шведовой)5Здесь и далее СМ. означает, что рядом есть соответствующий кадр – изображение экрана9Окна выбора поставщиков из спискаМаленькие хитрости большой БД. Access сама ограничивает текстовыеданные двойными кавычками, поэтому в текстовом поле длявыражений типа ОАО “Хлеб” лучше применять одинарные кавычки –‘Хлеб’ или другой разделитель, иначе нам “Хлеб”а не видать…10И так, у нас на этот момент описаны свойства полей всех 4-х таблиц.Но мы пойдем дальше: во всех ведомых таблицах значения КОДТОВАРА будем брать при помощи Мастера подстановок соСправочника.До ввода данных в таблицы через Конструктор (выделить таблицу инажать на Конструктор) переустановите свойства этого поля во всех трехведомых таблицах!!! Вариант для таблицы “Остаток конечный» приведен.Выделить поле код товараJТип данных⇒Мастер подстановок⇒выбрать …из таблицы или запроса ⇒ Справочник⇒11⇒из Справочника выбираем Код товара⇒Готово.Свойства полей вкладкиподстановка создаютсяавтоматически, вводитьничего не надоАктивнавкладкаПодстановкаВыражениеВыражение в источнике строк создается автоматически как конструкцияSQL6.Символ означает дополнительную информацию, не для «чайников»: если непонятно –можно пропустить126В результате будут созданы 4 таблицы (пока пустые).
Заполнение таблицначнем с Главной (ведущей) таблицы – Справочник.Achtung!!! Остальные 3 таблицы заполним только после установлениясвязей между таблицами, т.е. разработки схемы данных. Поэтому сейчасследует go to subroutine (перейти с возвратом) на метку Схема данных (стр. 19 ).Маленькие хитрости большой БД.Иногда при вводе данных таблицу не удается закрыть илиперейти к другой записи из-за повторяющегося или нулевогозначенияключа.Выходпрост:введителюбойнеповторяющийся ключ, выделите строку щелчком на началои удалите через контекстное менюДля учебных целей пока все таблицы заполняем один к одному, как нарисунках.13Помните, что значение ключа не может быть пустым илиповторяться!При заполнении 3 других таблиц попробуйте ввести некорректные данные,чтобы проверить реакцию СУБД (например, дата поступления больше текущей,срок хранения больше 120 и т.д.).В таблицы Ост_ кон и Ост_нач: добавьте самостоятельно 5-7 записей.Естественно, что коды товаров будут выбираться только выбором из списка сосправочника.Дата поступления пусть остается внутренней датой компьютера, а не та,которая в рисунке от 2003 года.
Когда надо будет – измените или добавите сдругой датой при построении запросов. Примерный вид таблицы Прибылосмотри через страницу в Фильтрах таблиц.После всех упражнений таблицы должны иметь примерно следующий вид: Пусть Вас не смущает вид некоторых таблиц, кнопки раскрытия + исвертывания - автоматически отражают внутренние связи полей междутаблицами.
Узнаете, но не все сразу…14Все изменения свойств таблиц и других объектов выполняются черезКонструктор, а ввод-вывод-добавление записей в режиме просмотра(Открыть).В мире мудрых мыслейBILDUNG MACHT FREI нем. (бильдунг махт фрай) — «Образованиеделаетсвободным»(Девизуниверсальнойэнциклопедиииобщеобразовательной серии издателя Мейера)RIDENDO DICERE SEVERUM лат. (ридэндо дицере сэвэрум) — шутя,говорить о серьезных вещах (третий девиз серии «Компьютер дляПетруши»).FESTINA LENTE лат.
[фэстина лэнтэ] — букв. «торопись медленно»; неделай наспех.OHNE HAST, OHNE RAST нем. (оне хаст, оне раст) — без суеты, но ибез остановок (Выражение Гете, «Кроткие ксении»).152.1. Фильтры в таблицахЧасто в больших базах данных в режиме просмотра таблиц возникаетнеобходимость фильтрации записей по тем или иным условиям. Accessпредставляет прекрасную возможность через встроенные инструментыфильтрации отбирать нужные записи.Для примера откроем таблицу Прибыло ⇒⇒нажмем на кнопку Изменить фильтр⇒и наберем условие выборки пономеру накладной между 5 и 10 записями (логические операторы знакомы современ программирования на языках царя Гороха(Or, And, Not, Xor и т.д.) >5 and<10 ⇒⇒ Применение фильтра⇒и получим отфильтрованный список товаров.Для снятия фильтра кнопка рядом.Для того, чтобы показать поставки от ОАО «Хлеб»,нужно по колонке Поставщик выделить строку и16применить Фильтр по выделенному.
Соседние кнопки служат для сортировкипо выбранным полям (у нас по убыванию значения кол-во). Потренируйтесьсамостоятельно.Самостоятельная 2.1.• Выдать список всех товаров, поступивших за вчерашний день• Выдать список всех товаров, поступивших от МУП «Хлебушко» запоследний месяц• Выдать список товаров по коду 201 или 301, поступивших вчераЗабегая вперед - Фильтры можно применять и для запросов2.2. Маски вводаДля некоторых типов данных можно создавать и шаблоны для вводаинформации (иногда их называют масками). Например, для облегчения вводадаты.При помощи Конструктора откроем таблицу Прибыло⇒для поля датапоступления в Свойствах поля нажмем на Построитель … в Маскахввода(см.)⇒17⇒ДА⇒выберем Краткий форматдаты, щелчок на Пробу⇒ Готово.Попробуем ввести датупоступления по маске.
Введите 3-4записи, уже достаточно 6-ти цифрчерез цифровую клавиатуру.Вот пример попытки ввода 14-го месяца. Укого ума хватит – могут поупражняться ивводом данных за 31 июня.А теперь перескакиваем схему данных(мы там уже были) и Go to на Формы.183. Схема данныхУстановление связей между таблицами или концептуальной моделибазы данных является наиболее ответственным этапом проектированияБД.Попробуем связать все эти таблицы между собой – построим схемуданных.Сервис ⇒ схема данных. Основной таблицей будет считаться Справочник, онсвязывает все другие таблицы через Код товара.
Тип связи для Справочника сдругими таблицами везде будет по второму типу объединения. Почему нужноименно так – поймете попозже при строительстве запросов. Через этот жесправочник все другие таблицы тоже окажутся связанными между собой.Связи, которые строим сами, называются прямыми и отражаются в схемеданных, но иногда СУБД сама может установить прямые связи посленеоднозначно определенных запросов по своему разумению и пониманию, поумолчанию первого типа, внутренние. Прямые связи как раз и отражены приоткрытии таблиц в виде кнопки раскрытия списка + .У Вас должна быть примерно следующая картина (какие-то связи могутуже быть из-за введения подстановок до установления схемы данных.
Этисвязи по умолчанию внутренние, по первому типу объединения), но длячистоты эксперимента мы их удалим: выделить мышью линию связи и клавишаDel. Добавим остальные таблицы при помощи контекстного меню Схемыданных и свяжем, как сможем.19Левой кнопкой мыши схватить код товара в Справочнике и перетащить натакие же поля код товара в других таблицах (естественно, все эти действияповторить для каждой из таблиц отдельно!)⇒20⇒ Обеспечение целостности7⇒ Объединение, а затем из Параметровобъединения выберем 2-ой тип (отношения типа 1 : 1 для ключевых полей и 1:∞ для ключевого и не ключевого полей ставятся автоматически (один-ко-многим - один и тот же товар может поступать несколько раз за день илинесколько дней)⇒ и Создать. Если что-то не так - изменить свойства связиможно через контекстное меню линий связи.После всего этого схема должна выглядеть следующим образом:7Это чтобы записи связанных таблиц соответствовали друг другу.
Например, длянашей БД нельзя ввести код товара в подчиненные таблицы, если нетсоответствующего кода в Справочнике. И, наоборот: при удалении записи соСправочника удаляются все подчиненные записи во всех связанных таблицах, еслиустановлены параметры Каскадное обновление (удаление) связанных полей21рис. Схемы данных(Вот здесь возврат назад к вводу данных в таблицы, стрелочка слевана WEB-панели – для тех, кто пользуется электронной версиейсамоучителя. Остальным просто вернуться назад на соответствующуюстраницу 13 брошюры)224.
ФормыЧасто таблицы лучше просматриваются и редактируются в видеФорм.Попробуем создать простые формы для наших таблиц тремявариантами (пока только ознакомьтесь, задание ниже) :1. Создать ⇒ Автоформа: в столбец и выбрать таблицу.2. Создать ⇒ Мастер форм и далее по шагам.3. Для создания составных, подчиненных форм будут следующиешаги:Создать ⇒ Мастер форм ⇒ выбрать Справочник, ОК ⇒ соСправочника все поля, тут же выбрать таблицу Прибыло,оттуда все записи, кроме кода товара (он уже выбран) ⇒ далее⇒ Подчиненная форма ⇒ далее ⇒ Табличная ⇒ Стиль ⇒ любой,Готово. В окне Формы появятся две формы (см.
рис.).Задание 4.1. Создать для всех таблиц первыми 2 способами(автоформа и Мастер) по одной форме, поупражняться вводом новыхзаписей и редактированием старых, после этого создать подчиненнуюформу Справочник 1 по шагам варианта 3. Картинки прилагаются.Простые первые 4 формы самостоятельно, вид одной из них приводится.Для подчиненной пояснений больше.Это простая форма для таблицы Справочник (первые 2 способа), аниже будут картинки для подчиненной (3 способ).Ниже вариант, как строить подчиненные (связанные между собой)формы.Когда построите формы для таблиц, то попробуйте ввести другиеданные, скорректировать старые или удалить некоторые уже через формы.2324Вид подчиненной формы:Подчиненная формасостоит из двухформ5. ЗапросыЗапросы – это фактически те же таблицы, только выбранные исконструированные из разных связанных таблиц в виде одной новой.5.1.














