Реферат: Пример создания БД Материалы с помощью Access
Создаем связи между таблицами, для этого на панели инструментов нажать кнопку - схема данных. В появившемся окне «Добавление таблицы» выбрать таблицу «НОМЕНКЛАТУРА МАТЕРИАЛОВ» и двойным щелчком левой кнопки мыши или кнопкой «Добавить» добавить таблицу в окно «Схема данных» находящегося пока за окном «Добавление таблицы». Также добавить и другие таблицы «ПОСТАВКА МАТЕРИАЛОВ» и «ПОСТАВЩИКИ». Нажать кнопку «Закрыть».
В окне «схема данных» будут находится все три таблицы с полями, ключевые поля будут выделены жирным шрифтом. Левой копкой мыши захватить поле «КодМатериала» из таблицы «НОМЕНКЛАТУРА МАТЕРИАЛОВ» перетащить его на поле «КодМатериала» таблицы «ПОСТАВКА МАТЕРИАЛОВ» и отпустить копку мыши. В появившемся окне поставить галочку в поле флажка «Обеспечение целостности данных» и поставить галочки в полях флажков «каскадное обновление связанных полей» и «каскадное удаление вязанных полей». Данные действия будут теперь выполнятся автоматически и это будет обеспечивать целостность и правильность данных в БД. Нажать кнопку «Создать». От таблицы «НОМЕНКЛАТУРА МАТЕРИАЛОВ» к таблице «ПОСТАВКА МАТЕРИАЛОВ» протянулась линия со значками 1 и ¥, что означает связь один-ко-многим. То есть одному коду материала в таблице «НОМЕНКЛАТУРА МАТЕРИАЛОВ» будет соответствовать несколько записей с таким же кодом материала в таблице «ПОСТАВКА МАТЕРИАЛОВ».
Также поступаем с полем «КодПоставщика» из таблицы «ПОСТАВЩИКИ» и перетаскиваем его на поле «КодПоставщика» из таблицы «ПОСТАВКА МАТЕРИАЛОВ». Связь аналогичная как рассмотрели выше.
Если внимательно посмотреть на схему данных то мы увидим, что автоматически образовалась связь типа многие-ко-многим, для таблиц «НОМЕНКЛАТУРА МАТЕРИАЛОВ» и «ПОСТАВЩИКИ», через таблицу «ПОСТАВКА МАТЕРИАЛОВ». То есть один поставщик может поставлять несколько материалов, что будет отражено в таблице «ПОСТАВКА МАТЕРИАЛОВ» и будет это видно в отчете «Поступление материалов от поставщиков по видам», в то же время один материал может поставляться несколькими поставщиками, что будет также отражено в таблице «ПОСТАВКА МАТЕРИАЛОВ» и будет видно в отчете «Поступление материалов по видам от поставщиков».
Закрываем окно «Схема данных», на вопрос о сохранении отвечаем да.
Теперь я могу описать информационную схему базы. Она имеет следующий вид.
Как видно из информационной схемы моя база данных основывается на трех таблицах «НОМЕНКЛАТУРА МАТЕРИАЛОВ», «ПОСТАВЩИКИ» и «ПОСТАВКА МАТЕРИАЛОВ». В этих таблицах содержатся все необходимые данные. На основании этих трех таблиц создается запрос «Поступление материалов от поставщиков по видам» с полями из следующих таблиц:
- «ПОСТАВЩИКИ» – поле «Поставщик», данное поле автоматически находится для соответствующей записи из таблицы «ПОСТАВКА МАТЕРИАЛОВ» с использованием связи по полю «КодПоставщика» и подставляется для кода соответствующее название поставщика.
- «НОМЕНКЛАТУРА МАТЕРИАЛОВ» – поле «Материал», также автоматически находится с использованием связи по полю «КодМатериала» и подставляется для кода соответствующее название материала.
- «ПОСТАВКА МАТЕРИАЛОВ» – поля «ДатаПоставки», «ЕдИзмерения», «Количество», «Цена».
В запросе появляется вычисляемое поле «Сумма» которое находится при вычислении запроса как произведение поля «Цена» на поле «Количество» из таблицы «ПОСТАВКА МАТЕРИАЛОВ». Данное поле является условно-постоянным, т.к. на самом деле данное поле в базе данных не сохранятся, а вычисляется каждый раз при производстве запроса на выборку по соответствующим данным.
На основании данного запроса «Поступление материалов от поставщиков по видам» составляется два отчета которые в принципе одинаково формируются только содержат различный набор полей и группируются по различным полям, это следующие отчеты:
- «Поступление материалов от поставщиков по видам» – с полями «Поставщик», «Материал», «ДатаПоставки», «ЕдИзмерения», «Количество», «Цена», «Сумма», и группируется данный отчет по полю «Поставщик» на первом уровне и по полю «Материал» на втором.
- «Поступление материалов по видам от поставщиков» – с полями «Материал», «Поставщик», «Количество», «Цена», «Сумма», и группируется данный отчет по полю «Материал» на первом уровне и по полю «Поставщик» на втором уровне.
Также на основании данного запроса «Поступление материалов от поставщиков по видам» формируется другой запрос «Поступление материалов по датам за определенный период». Суть данного запроса в том, что из всего запроса «Поступление материалов от поставщиков по видам» выбираются только записи за определенный период лежащий между двумя датами и из полей оставляются «ДатаПоставки», «Поставщик», «Материал», «Количество», «Сумма» и группируется данный отчет по полю «ДатаПоставки».
На основании запроса «Поступление материалов по датам за определенный период» формируется отчет «Поступление материалов по датам за определенный период».
3. Создание форм для занесения данных в таблицы.
Данные можно вводить и используя таблицы, открыв их двоным щелчком левой кнопки мыши, однако в данном случае неудобно будет заполнять таблицу «ПОСТАВКА МАТЕРИАЛОВ», поскольку в первые поля надо будет вводить коды материала и поставщика. Для удобства ввода данных в таблицы создаем следующее формы «ПОСТАВЩИКИ», «МАТЕРИАЛЫ» и «ДАННЫЕ О ПОСТАВКЕ МАТЕРИАЛОВ». Для этого переходим в меню «Формы» моей базы данных и нажав два раза левую кнопку мыши запускаем «Создание формы с помощью мастера». Выбираем таблицу «НОМЕНКЛАТУРА МАТЕРИАЛОВ» из полей данной таблицы выбираем поле «Материал» и жмем по кнопке « > », нажимаем «Далее >», выбираем «Ленточный», «Далее >», из списка выбираем «Стандартный», в поле вводим наименование формы «МАТЕРИАЛЫ» и нажимаем кнопку «Готово». Вводим названия материалов. Закрываем форму. При необходимости можно добавить данные нажав два раза левую кнопку мыши на форме.
Также создаем форму «ПОСТАВЩИКИ»,т.е. запускаем «Создание формы с помощью мастера», выбираем таблицу «ПОСТАВЩИКИ», выбираем поле «Поставщик» по кнопке « > », по копке «Далее >», выбираем «Ленточный» по копке «Далее >», «Стандартный» по копке «Далее >», имя формы оставляем как предложено по имени таблицы .е. «ПОСТАВЩИКИ» и нажимаем копку «Готово». Вводим названия поставщиков. Закрываем форму.
Для создания формы «ДАННЫЕ О ПОСТАВКЕ МАТЕРИАЛОВ» нажимаем «Создание формы с помощью мастера», выбираем таблицу «ПОСТАВКА МАТЕРИАЛОВ» и выбирая поля «ДатаПоставки», «Количество», «Цена», «ЕдИзмерения», и каждый раз нажимая по кнопке « > » переносим данные поля из левого окна в правое, по кнопке «Далее >», выбираем внешний вид формы в один столбец и нажимаем кнопку «Далее >», выбираем «Стандартный» по кнопе «Далее >», набираем имя формы «ДАННЫЕ О ПОСТАВКЕ МАТЕРИАЛОВ», по кнопке «Готово». Закрываем форму и выбрав эту форму щелкаем по правой кнопке мыши выбираем из меню конструктор. Раздвигаем область данных зацепив мышью нижную границу и сдвигаем поля и надписи соответственно вниз расположив их при этом в том порядке как удобнее вводить данные. Передвигать надписи и поля можно выделив их и зацепив мышью когда курсор примет вид ладони. Регулируем размер полей выделив поле и зацепив соответствующую границу поля когда курсор мыши примет вид двух стрелок. На освободившееся верхнее место с панели элементов ставим «поле со списком», в появившемся окне оставляем «Обьект «поле со списком» будет использовать данные из таблицы или запроса, по кнопке «Далее >», выбираем таблицу «ПОСТАВЩИКИ», по кнопке «Далее >», выбираем поле «Поставщик», по кнопке « > », по кнопке «Далее >», по кнопке «Далее >», выбираем «сохранить в поле», и в правом поле со списком из списка выбираем «КодПоставщика», по кнопке «Далее >», название подписи вводим отставляем как предложено по имени поля т.е. «Поставщик», по кнопке «Готово». Также ниже поставщика ставим поле со списком для ввода материала, при этом отличие в том что выбираем таблицу «НОМЕНКЛАТУРА МАТЕРИАЛОВ» и поле «Материал», а сохраняем в поле «КодМатериала», подпись соответственно «Материал». Закрываем конструктор и на вопрос о сохранении изменений отвечаем Да.
Двумя щелчками левой кнопки мыши на форме Ввод данных о поставке материалов открываем форму для ввода данных и вводим данные.
4. Создание запросов.
Для дальнейшего формирования отчетов необходимо создать два запроса на выборку это «ПОСТУПЛЕНИЕ МАТЕРИАЛОВ ОТ ПОСТАВЩИКОВ ПО ВИДАМ» и «ПОСТУПЛЕНИЕ МАТЕРИАЛОВ ПО ДАТАМ ЗА ОПРЕДЕЛЕННЫЙ ПЕРИОД».
Вначале формируем запрос «ПОСТУПЛЕНИЕ МАТЕРИАЛОВ ОТ ПОСТАВЩИКОВ ПО ВИДАМ». В меню базы переходим на запросы, щелкаем на «Создание запроса в режиме конструктора», в появившемся окне добавляем все три таблицы это «НОМЕНКЛАТУРА МАТЕРИАЛОВ», «ПОСТАВЩИКИ» и «ПОСТАВКА МАТЕРИАЛОВ», закрываем окно добавления таблиц. С добавлением таблиц сразу отразятся и связи между ними. Зацепив левой кнопкой мыши поле «Поставщик» из таблицы «ПОСТАВЩИКИ» перетаскиваем его в первое поле запроса, также поле «Материал» из таблицы «НОМЕНКЛАТУРА МАТЕРИАЛОВ» перетаскиваем во второе поле запроса, поля «ДатаПоставки», «ЕдИзмерения», «Количество» и «Цена» из таблицы «ПОСТАВКА МАТЕРИАЛОВ» перетаскиваем соответственно в третье, четвертое, пятое и шестое поле запроса. В седьмом поле запроса в верхней строке поместить в нем курсор и щелкнув по правой кнопке мыши из появившегося меню выбрать Построить. В нижнем левом окне нажав на плюс где таблицы открыть их и выбрать таблицу «ПОСТАВКА МАТЕРИАЛОВ». Из появившихся полей в среднем нижнем окне двойным щелчком выбрать поле «Количество», после нажать кнопку со знаком «*» и далее выбрать поле «Цена». В верхнем Нажать «ОК». Перейти в другое поле. Поставив курсор обратно с верхнюю строку седьмого поля запроса вместо слова «Выражение1» набрать «Сумма». Закрыть запрос, сохранить изменения, в появившемся окне ввести имя запроса «ПОСТУПЛЕНИЕ МАТЕРИАЛОВ ОТ ПОСТАВЩИКОВ ПО ВИДАМ» и нажать «ОК».
Далее создаем запрос «ПОСТУПЛЕНИЕ МАТЕРИАЛОВ ПО ДАТАМ ЗА ОПРЕДЕЛЕННЫЙ ПЕРИОД». Нажимаем «Создание запроса в режиме конструктора». В окне «Добавление таблицы» переходим на вкладку запросы, двойным щелчком выбираем запрос «ПОСТУПЛЕНИЕ МАТЕРИАЛОВ ОТ ПОСТАВЩИКОВ ПО ВИДАМ» и закрываем окно. Из запроса «ПОСТУПЛЕНИЕ МАТЕРИАЛОВ ОТ ПОСТАВЩИКОВ ПО ВИДАМ» в верхнем окне захватываем и переносим в поля запроса следующие поля «ДатаПоставки», «Поставщик», «Материал», «Количество» и «Сумма» соответственно в первое, второе, третье, четвертое и пятое поле запроса. В строке условие отбора в первом поле (где стоит ДатаПоставки) ставим курсор и пишем Between [Дата начало периода] And [Дата конец периода]. Закрываем конструктор, сохраняем изменения, и вводим имя запроса «ПОСТУПЛЕНИЕ МАТЕРИАЛОВ ПО ДАТАМ ЗА ОПРЕДЕЛЕННЫЙ ПЕРИОД». Теперь перед выполнением запроса у пользователя будет сначала запрошена Дата начало периода, а затем Дата конец периода и так будет задан период между какими датами отобрать записи.
5. Формирование отчетов.
Переходим в меню Отчеты моей базы данных. Мне по заданию необходимо сформировать три отчета это «Поступление материалов от поставщиков по видам», «Поступление материалов по видам от поставщиков» и «Поступление материалов по датам за определенный период».
Для формирования отчета «Поступление материалов от поставщиков по видам» щелкаем «Создание отчета с помощью мастера». Выбираем из списка «Запрос: ПОСТУПЛЕНИЕ МАТЕРИАЛОВ ОТ ПОСТАВЩИКОВ ПО ВИДАМ». Нажав кнопку « >> » выбираем все поля из запроса. Нажимаем кнопку «Далее >». Вид представления данных выбираем ПОСТАВЩИКИ, это первый уровень группировки. Далее выбираем Материал, это второй уровень группировки. Нажимаем «Далее >”. Сортировку записей выбираем по дате. Нажав кнопку «Итоги…» ставим галочку на пересечении строки Сумма и столбца Sum и нажимаем «ОК». Кнопка «Далее >». Выбираем Блок и ориентацию бумаги альбомная, «Далее >». Выбираем Строгий и кнопка «Далее >». Вводим имя отчета «Поступление материалов от поставщиков по видам» и кнопка «Готово». Закрываем отчет. Нажав на данном отчете правую кнопку мыши выбираем Конструктор. Выбираем поле «Sum» примечании для группы `Материал` и примечании для группы `Название поставщика` и удаляем их. Ставим курсор в строку Итоги для материала и исправляем ее на =”Итого по материалу “ & [Материал]. Поле =Sum[Сумма] приподнимаем выше чтобы была в одной строке Итого по материалу. Также поступаем и со строкой Итоги для поставщика. Поле Ед. изм. уменьшаем в длине, а увеличиваем поле Дата поставки, также поступив и с соответствующими полями в области данных. Поля Дата поставки и другие в свойствах выбираем выравнивание по центру. Ну и так далее производим изменения, что бы поля хорошо читались не наползали друг на друга и помещались все выводимые данные. Закрываем отчет и сохраняем изменения.