Отправляет email-рассылки с помощью сервиса Sendsay

Программирование на Microsoft Access

  Все выпуски  

Программирование на Microsoft Access с нуля Выпуск #4


«Программирование на Microsoft Access с нуля»

 

 

Выпуск #4/27/02/2006

 

От Автора:

 

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

 

Создание запросов.

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

Создание запросов, так же как и таблиц может быть выполнена несколькими способами. Для этого необходимо в окне баз данных (вкладка запросы) нажать на кнопку создать. В открывшемся диалоговом окне вам опять же предложат пять различных способов создания запроса. Но, сегодня я хочу поговорить лишь об одном  создание таблицы в режиме конструктора. 

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

 

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

Запрос на выборку. Это самый простой тип запроса, в котором осуществляется выборка нужных вам записей из одной или нескольких таблиц по какому либо полю, используя условие отбора. Допустим, вам нужно выбрать всех «Авторов» и названия их произведений выпущенных издательством Пресс (база данных «Домашняя библиотека»). Тогда для запроса добавляются следующие таблицы: «Авторы», «Издательство», «Произведения», сносятся соответствующие поля (двойным нажатием кнопки мыши). Связи между таблицами Access определит автоматически. Посмотреть, как должен выглядеть запрос и результат его выполнения можно здесь. В поле издательство ставится условие Пресс. Для запуска используйте красный значок с восклицательным знаком. Запросы на выборку можно также использовать для группировки записей и вычисления сумм, средних значений, подсчета записей и нахождения других типов итоговых значений. Отображение всех запросов происходит в режиме таблицы.

Запрос на обновление. Этот запрос вносит изменения в поля с помощью условий отбора, и строки обновления. Допустим, вы допустили ошибку, и вместо издательства Пресс вам надо было вбить в базу название Пресс-Москва, поправить это очень просто. Откройте созданный вами запрос на выборку, поменяйте тип запроса на «запрос на обновление» (Менюà Запрос à Обновление). В сносках полей оставьте только поле издательство, условие у вас уже стоит Пресс, в строке обновления введите Пресс Москва, и запустите запрос. Внимание! Запрос на обновление является необратимым, т.е. если вы ошибетесь поправить это уже будет невозможно, так что перед тем как использовать такие запросы особенно со сложными условиями, используйте сначала запрос на выборку (для проверки) или делайте копию таблицы которую будете обновлять.

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

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

Запрос на создание таблицы. Создает новую таблицу на основе всех или части данных из одной или нескольких таблиц. Запрос на создание таблицы полезен для выполнения следующих действий.

1. Создание таблицы для экспорта в другую базу данных Microsoft Access. Например, требуется создать таблицу, содержащую несколько полей из таблицы «Сотрудники», а затем экспортировать эту таблицу в базу данных, используемую отделом кадров.

2. Создание резервной копии таблицы.

3. Создание архивной таблицы, содержащей старые записи. Например, можно создать таблицу, сохраняющую все старые заказы, прежде чем удалить их из текущей таблицы «Заказы».

4. Повышение быстродействия форм, отчетов и страниц доступа к данным, основанных на многотабличных запросах или инструкциях SQL.

 

Перекрестный запрос. В перекрестном запросе отображаются результаты статистических расчетов (суммы, количество записей и средние значения), выполненных по данным из одного поля таблицы. Эти результаты группируются по двум наборам данных, один из которых расположен в левом столбце таблицы, а второй — в верхней строке. Данные перекрестного запроса можно создать так же с помощью мастера Сводных таблиц в форме.

 

Все запросы так же вы можете просматривать в режиме SQL, используя (в окне запроса) Менюà Видà Режим SQL. О том, что такое SQL мы поговорим в следующем выпуске.

Чтобы упростить создание запросов, которые будут выполняться независимо или использоваться как базовые для нескольких форм или отчетов, пользуйтесь мастерами запросов. Мастера запросов автоматически выполняют основные действия в зависимости от ответов пользователя на поставленные вопросы. Если было создано несколько запросов, мастера можно также использовать для быстрого создания структуры запроса. Для настройки запроса переключитесь в режим конструктора.

В запросах, можно использовать встроенные функции Access, просмотреть их можно на моем сайте или в предыдущих выпусках рассылки, если конечно они у вас сохранились J

 

Результаты задания «Создаем домашнюю библиотеку»

 

 

Благодарю всех участников данного раздела, и хочу перечислить их имена: Ник, Igor, Сергей, Lena, Юрий, Archiv. Все остальные подписчики участия не принимали, ну что ж объявим победителей -на мой взгляд самое лучшее домашнее задание прислали мне Ник и Сергей, и большое им и всем участникам спасибо!  Базу данных победителей можно скачать здесь, ее вправе можно назвать учебной.

Следующее домашнее задание: Скачайте учебную базу данных «Домашняя библиотека» и поэкспериментируйте со всеми типами запросов, начиная с запроса на выборку. При этом используйте встроенные функции Access (текстовые), если будут какие-то вопросы спрашивайте, постараюсь помочь.

 

Вопросы(ответы не были получены).

 

 

Вопрос №1. Не могли бы Вы подсказать, хотя бы схематично набор таблиц и связи между ними для следующей задачи. Имеется производство масла из ингредиентов. Ингредиентами являются растительный жир, сливки, молоко и т.д. Сырье хранится в населенном пункте А, производство организовано в населенном пункте B.

           1. Ингредиенты от поставщиков поступают на склад сырья №1, в населенный пункт А.

           2. Ингредиенты авто транспортом перевозят из населенного пункта А, в населенный пункт B, на склад сырья №2.

           3. Со склада №2 ингредиенты передаются на производство.

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

           5. Готовая продукция помещается на склад готовой продукции (склад №3).

           6 . Со склада №3 готовая продукция перевозиться в населенный пункт А, на склад №1.

           7. На складе №1 собираются заказы от клиентов.

           8. В соответствии с заказами, готовая продукция автотранспортом развозиться клиентам.

Прислал: Андрей Василенко. [Ответить]

 

Новые вопросы:

Вопрос №2  Я пользуюсь Access-ом для печати на конвертах адресов клиентов из базы на основе

определенного запроса по признакам. Пользуюсь Label Wizard-ом. Для создания нового Label

просто копирую существующий и меняю название. Но тут проблема - не могу поменять связь Report с

Query (в новом Report остается прежний запрос (Query) который не могу поменять). Может поможете

как поменять

Прислал: Сергей. [Ответить]

 

Вопрос №3  Не могли бы Вы подсказать, хотя бы схематично набор таблиц и связи

   между ними для следующей задачи:

          1.Имеется два массива данных "ТОВАРЫ"  и "КОНТАКТЫ"

          2.В массиве "КОНТАКТЫ" - три категории типа контактов

          (производители, поставщики, потребители, причем категория  "потребители" состоит из 

подкатегорий)

          3.Массив "ТОВАР" также содержит категории и подкатегории  типа: Вид товара (АВТОМОБИЛЬ,

ПРИЦЕП,и т.д.)

                Вид изделия ( ЛЕГКОВОЙ, ГРУЗОВОЙ, ПИКАП, ДЖИП, ...)

                Вид узла (ДВИГАТЕЛЬ, ШАССИ, КУЗОВ,...)

                Вид подузла (СИСТЕМА ОХЛАЖДЕНИЯ, СИСТЕМА СМАЗКИ,  КАРБЮРАТОР, ИНЖЕКТОР и т.д.)

                Вид детали (БОЛТ, ГАЙКА, КНОПКА, ...)

          4.Можно ли не разрывая таблицы ТОВАРЫ и КОНТАКТЫ на мелкие  таблицы по подкатегориям

решить следующие задачи:

              - по каждому контакту - с какими товарами связан

              - по каждому товару - 1. с какими контактами связан

                                                          2. c какими товарами связан как  вверх так и вниз (комплектующие и

 применяемость)

              - ввод данных через формы  "ТОВАРЫ"  и "КОНТАКТЫ".

Прислал: Алексей. [Ответить]

[<<<Задать вопрос>>>]

 

Ссылки:

 

 

Сайт рассылки

Функции даты и времени

Функции для данных типа String

База данных «Домашняя библиотека»

Если у кого-то есть интересные статьи и ссылки на тему программирования на Microsoft Access, присылайте! Давайте вместе делать рассылку интересной и полезной и для  начинающих  и для профессионалов.

                      Подпишите своих друзей на рассылку:

Рассылки Subscribe.Ru

Программирование на Microsoft Access с нуля

 


© 2006 Виктория Колдбер. Victoria_koldber@mail.ru  Сайт: http://myaccess.boom.ru/

 


В избранное