Основы работы в СУБД Access

Введение в СУБД

База данных (БД) – совокупность взаимосвязанных и структурированных данных на машинном носителе информации.

Принципы организации данных:

  • Полнота, актуальность и непротиворечивость информации;
  • Минимальная избыточность;
  • Независимость (минимальная зависимость) от особенностей программной и аппаратной реализации;

Система управления базами данных (СУБД) – совокупность языковых и программных средств, предназначенных для описания баз данных, коллективного их создания, ведения и дифференцированного использования многими пользователями.

Уровни представления данных:

Внешний– визуальное представление данных, с которым работает конечный пользователь

| языки управления базами данных (ЯУБД, SQL)

Концептуальный(логический) – уровень математической модели, условное представление данных как системы объектов и связей между ними;

| программно-аппаратные средства СУБД

Физический (внутренний) – уровень программно-аппаратной реализации хранения данных.

Модели представления данных:

Модель - это математический или физический аналог исследуемой системы. Существуют 3 основных модели данных.

1) Иерархическая

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

Иерархия начинается с корневого узла. Каждый узел имеет только одного «предка» и N «потомков».

(+ преимущества модели) простота и однозначность представления данных, легкость адресации

(- недостатки модели) недостаточная гибкость, зависимость от программно-аппаратных средств

использование: программирование, математическое моделирование

Примерреализации модели – дерево папок Windows, каталог ресурсов Интернет

 

2) Сетевая

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

(+) теоретически возможны сколь угодно сложные связи между объектами;

(-) сложность реализации, существенная зависимость от программно-аппаратных средств

использование: автоматизированные системы управления, экспертные системы

Примерреализации – служба WWW – документы, произвольно связанные ссылками

 

3) Реляционная – представление данных в виде системы взаимосвязанных таблиц;

Каждый объект системы описывается в виде таблицы с набором свойств (атрибутов), а взаимосвязь между объектами – связями между таблицами.

(+) простота; относительная независимость от программных и аппаратных средств;

(-) существенная зависимость скорости обработки от объема БД

Использование: все существующие СУБД являются реляционными

Основные понятия реляционных СУБД

Терминология:

Поле(атрибут) – свойство описываемого объекта;

Запись (кортеж) – значение атрибута объекта;

Таблица (отношение) – совокупность записей с заполненными значениями атрибутов;

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

Структура БД (схема отношения) – совокупность информации о полях таблицы;

Стандартные требования к реляционным СУБДправила Кодда.

  • уникальность записей;
  • неупорядоченность записей и полей;
  • атомарность значений атрибутов (нормализованное представление «поля-записи»)

Начальный вариант алгебры отношений был предложен Коддом.

  • При выполнении операции объединения двух отношений производится отношение, включающее все кортежи, входящие хотя бы в одно из отношений-операндов.
  • Операция пересечения двух отношений производит отношение, включающее все кортежи, входящие в оба отношения-операнда.
  • Отношение, являющееся разностью двух отношений включает все кортежи, входящие в отношение - первый операнд, такие, что ни один из них не входит в отношение, являющееся вторым операндом.
  • При выполнении прямого произведения двух отношений производится отношение, кортежи которого являются конкатенацией (сцеплением) кортежей первого и второго операндов.
  • Результатом ограничения отношения по некоторому условию является отношение, включающее кортежи отношения-операнда, удовлетворяющее этому условию.
  • При выполнении проекции отношения на заданный набор его атрибутов производится отношение, кортежи которого производятся путем взятия соответствующих значений из кортежей отношения-операнда.
  • При соединении двух отношений по некоторому условию образуется результирующее отношение, кортежи которого являются конкатенацией кортежей первого и второго отношений и удовлетворяют этому условию.
  • У операции реляционного деления два операнда - бинарное и унарное отношения. Результирующее отношение состоит из одноатрибутных кортежей, включающих значения первого атрибута кортежей первого операнда таких, что множество значений второго атрибута (при фиксированном значении первого атрибута) совпадает со множеством значений второго операнда.
  • Операция переименования производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены.
  • Операция присваивания позволяет сохранить результат вычисления реляционного выражения в существующем отношении БД.

 

Остальные объекты БД:

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

Форма – окно для просмотра, добавления и изменения данных в таблицах

Отчет – документ для анализа и печати данных в определенном формате

Страницы доступа данным – Web-страницы для удаленного доступа к БД

Макрокоманды – инструкция, выполняющая определенное в СУБД действие (открыть документ, изменить размер шрифта и т.п.)

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

Модули - наборы описаний и подпрограмм на Visual Basic для автоматизированной работы с БД.

 

Связь – отношение между двумя общими полями двух таблиц

Типы связей между данными:

1:1 каждая запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Отношения этого типа используются не очень часто, поскольку большая часть сведений, связанных таким образом, может быть помещена в одну таблицу. Отношение «один-к-одному» может использоваться для разделения таблиц, содержащих много полей, для отделения части таблицы по соображениям безопасности, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.

(студент - № зачетки)

 

1:N каждой записи в таблице A могут соответствовать несколько записей в таблице B, но не наоборот

1 Один поставщик...
2 ... может поставлять несколько товаров, ...
3 ... но у каждого товара может быть только один поставщик. (Группа-студенты)

N:M одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Этот тип связи возможен только с помощью третьей (связующей) таблицы, первичный ключ которой состоит из двух полей, которые являются внешними ключами таблиц A и B. Отношение «многие-ко-многим» по сути дела представляет собой два отношения «один-ко-многим» с третьей таблицей. Например, отношение «многие-ко-многим» между таблицами «Заказы» и «Товары» определяется путем создания двух отношений «один-ко-многим» с таблицей «Заказано». В одном заказе может быть много товаров, а каждый товар может появляться в нескольких заказах

(Студенты-курсы, которые они слушают)

1 Первичный ключ из таблицы «Заказы»
2 Первичный ключ из таблицы «Товары»
3 Один заказ может содержать несколько товаров, ...
4 ... а каждый товар может содержаться в нескольких заказах.

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

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

 

Основная цель проектирования БД – это сокращение избыточности хранимых данных, а следовательно, экономия объема используемой памяти, уменьшение затрат на многократные операции обновления избыточных копий и устранение возможности возникновения противоречий из-за хранения в разных местах сведений об одном и том же объекте. Так называемый, "чистый" проект БД ("Каждый факт в одном месте") можно создать, используя методологию нормализации отношений. Нормализация – это разбиение таблицы на несколько, обладающих лучшими свойствами при обновлении, включении и удалении данных.

При проектировании базы данных решаются две основных проблемы:

  • Каким образом отобразить объекты предметной области в абстрактные объекты модели данных, чтобы это отображение не противоречило семантике предметной области и было по возможности лучшим (эффективным, удобным и т.д.)? Часто эту проблему называют проблемой логического проектирования баз данных.
  • Как обеспечить эффективность выполнения запросов к базе данных, т.е. каким образом, имея в виду особенности конкретной СУБД, расположить данные во внешней памяти, создание каких дополнительных структур (например, индексов) потребовать и т.д.? Эту проблему называют проблемой физического проектирования баз данных.

В случае реляционных баз данных трудно представить какие-либо общие рецепты по части физического проектирования. Здесь слишком много зависит от используемой СУБД. Так что будем считать, что проблема проектирования реляционной базы данных состоит в обоснованном принятии решений о том,

  • из каких отношений должна состоять БД и
  • какие атрибуты должны быть у этих отношений.

 

Основы работы в СУБД Access

1. После запуска создать и сохранить новую БД (Файл.Создать…, Новая база данных)

Окно управления БД

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

3. Для объединения данных из нескольких таблиц в запросе, форме или отчете определите связи между таблицами. При этом поле основной таблицы обычно связывается с соответствующим полем зависимой таблицы (справочника) связью 1:N

4. Введите информацию о полях таблицы в Конструкторе таблиц.

Как правило, при создании поля задаются:
Уникальное имя поля;
Тип данных - определяет тип значений, которые можно вводить в поле (числовой, текстовый, счетчик);
Если поле следует сделать ключевым, вызовите на его метке контекстное меню и выберите соответствующий пункт;

5. В ответ на соотв. запросы Access заполните таблицы данными и сохраните их.

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

7. Для создания запросов воспользуйтесь конструктором запросов на его закладке.

 

Упражнение 1

Создать базу данных «Сотрудники» со следующей структурой:

· Табельный номер сотрудника (ключевое поле);

· Фамилия и.о.;

· Пол;

· Дата рождения;

· Код подразделения;

· Наименование подразделения;

· Должность;

· Разряд по ЕТС;

· Оклад в соответствии с разрядом;

· Стаж работы, лет;

· Надбавка за стаж;

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

Заполнить базу на несколько записей.

Составить и выполнить 3 запроса к базе данных. Один из запросов должен содержать вычисляемое поле, а еще один – запрограммированное условие отбора. Примеры запросов:

Все сотрудники какого-либо подразделения;

Все сотрудники младше 40 лет (с условием отбора);

Реальная зарплата сотрудников с учетом надбавки (с вычисляемым полем).

Работа с таблицами

В Access существует четыре способа создания пустой таблицы:

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

Режим конструктора таблиц

Типы полей Access:

Тип данных Описание
Текстовый (Значение по умолчанию) Текст или числа, не требующие проведения расчетов, например номера телефонов (до 255 знаков)  
Числовой Числовые данные различных форматов, используемые для проведения расчетов
Дата/время Для хранения информации о дате и времени с 100 по 9999 год включительно
Денежный Денежные значения и числовые данные, используемые в математических расчетах, проводящихся с точностью до 15 знаков в целой и до 4 знаков в дробной части
Поле MEMO Для хранения комментариев; до 65535 символов
Счетчик Специальное числовое поле, в котором Access автоматически присваивает уникальный порядковый номер каждой записи. Значения полей типа счетчика обновлять нельзя
Логический Может иметь только одно из двух возможных значений (True/False, Да/Нет)
Поле объекта OLE Объект (например, электронная таблица Microsoft Excel, документ Microsoft Word, рисунок, звукозапись или другие данные в двоичном формате), связанный или внедренный в таблицу Access
Гиперссылка Строка, состоящая из букв и цифр и представляющая адрес гиперссылки. Адрес гиперссылки может состоять максимум из трех частей: текст, выводимый в поле или в элементе управления; путь к файлу (в формате пути UNC) или к странице (адрес URL). Чтобы вставить адрес гиперссылки в поле или в элемент управления, выполните команду Вставка, Гиперссылка
Мастер подстановок Создает поле, в котором предлагается выбор значений из списка или из поля со списком, содержащего набор постоянных значений или значений из другой таблицы. Это в действительности не тип поля, а способ хранения поля

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

Свойства текстовых полей:

Размер поля – максимально допустимое количество символов ввода;

Подпись – заголовок поля в форме; по умолчанию – имя поля;

Значение по умолчанию – значение, автоматически подставляемое в поле при создании записи;

Индексированное поле – определяет, создается ли ключ для быстрого поиска и сортировки данных по данному полю; «да» для наиболее часто используемых полей;

Свойства числовых полей:

Размер поля – указывается как выбор одного из целых типов: целое – 2 байта, +-32000, длинное целое – 4 байта, +- 2 млрд., с плавающей точкой – вещественные числа, в этом случае можно указать число десятичных знаков.

Свойства полей типа дата/время:

Формат поля – выбор способа представления даты и/или времени

Для всех типов полей (кроме типов Счетчик и поле объекта OLE) можно самостоятельно задавать ограничения для вводимых данных. Для этого в режиме конструктора надо выбрать вкладку Общие, перевести курсор в поле с именем "Условия на значение" и ввести ограничение на данные. Например, стаж работы вряд ли может быть более 70 лет, и ограничение будет следующее: <70. Ограничение можно вводить и на текстовое поле, Обычно в этом случае задаются слова, которые могут присутствовать в данном поле.

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

Для каждого типа данных (кроме типа данных Счетчик) предусмотрено пустое (нулевое) значение. Различают два типа пустых значений: пустые (Null) значения и пустые строки, Если пустое поле имеет пустое (Null) значение, то это означает, что данные для него существуют, но пока не известны. Если же введена пустая строка (два знака прямых кавычек ("")), то это означает, что данные не существуют вовсе. Access позволяет обрабатывать такие пустые значения.

Режим таблицы

В этом режиме выполняется ввод и редактирование данных. Переход в него – кнопка «Открыть» в окне БД или кнопка Вид на панели инструментов.

Операции над записями и полями – контекстное меню строки или столбца.

Редактирование ячейки – двойной щелчок или F2 для исправления данных, Enter – подтверждение изменений, Esc – отмена.

Поиск и замена данных: меню Правка, п. Найти, Заменить или контекстное меню столбца данных;

Сортировка данных: меню Записи, подменю Сортировка или контекстное меню столбца данных; Можно перед сортировкой выделить несколько столбцов; тогда она начинается с крайнего левого столбца.

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

Фильтрация данных: Фильтр - это набор условий, применяемых для отбора подмножества записей. В Access существуют фильтры четырех типов:

Фильтр по выделенному фрагменту - способ быстрого отбора записей по выделенному образцу. Выделить образец, в контекстом меню выбрать соотв. пункт. Снятие фильтра – меню Записи, п. Удалить фильтр. Действие последовательно наложенных фильтров объединяется.

Обычный фильтр – меню Записи.Фильтр.Изменить фильтр. После нажатия кнопки от таблицы остается одна запись. Каждое поле становится списком, в котором можно выбрать выводимые значения для данного поля. После щелчка по кнопке «Применить фильтр» будут выбраны записи, соответствующие измененному фильтру.

Расширенный фильтр – фильтр создается как SQL-запрос в окне фильтра, аналогичному окну запроса. Условие отбора можно построить, пользуясь построителем выражений.

 

Формы

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

При вводе данных можно не только помещать вычисляемые поля в форму, но и добавлять расширенные правила проверки корректности ввода и элементы управления (например, переключатели, флажки, раскрывающиеся списки). Линии, рамки, цвета и фоновые изображения улучшают внешний вид данных, облегчают восприятие формы и повышают продуктивность работы. В дополнение к этому OLE-объекгы (такие, как рисунки и графики) можно увидеть только в форме или в отчете.

Создать форму можно несколькими способами. Если Вы в окне базы данных откроете вкладку Формы и щелкните по кнопке «Создать», то откроется окно, в котором указаны способы создания формы.

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

Далее будет рассмотрена работа с конструктором форм. По терминологии Access все, что добавляется в форму, называют элементами управления. Различают 2 их вида: связанные и несвязанные. Связанные элементы используют данные из полей в таблице БД. Например, если поле содержит сведения о почтовом индексе, то исправления, внесенные в поле, внесут соответствующие изменения в текущую запись открытой БД. Несвязанные элементы содержат пояснительный текст или графику, они не связаны с полями БД. Для перехода к Конструктору форм откроем вкладку Формы в окне БД и выберем кнопку Создать, в окне Новая форма укажем таблицу-источник данных и выберем режим Конструктор.

В области данных создаются и настраиваются необходимые поля, ее размер легко изменить «мышью». Настроить внешний вид формы позволяет команда Формат.Автоформат. Подробно изучить отдельные настройки формы и области данных позволяет окно Свойства, вызвать которое для области данных можно щелчком правой кнопки «мыши» в любом ее месте. Окно Свойства формы доступно, если выполнить щелчок правой кнопкой в окне Конструктора формы внеобласти данных:

Список полей позволяет методом «перетащил и оставил» быстро добавить на форму элементы для ввода данных в поля таблицы-источника записей.

Панель элементов позволяет добавлять в область данных стандартные элементы интерфейса Windows. Рассмотрим важнейшие из них подробнее. В связи с тем, что при программировании в Access на языке Visual Basic for Applications нам придется обращаться к англоязычным именам элементов управления и их свойств, везде в скобках будем писать соответствующие английские аналоги.

Текстовая метка (Label) – предназначена для ввода заголовков, поясняющего текста и примечаний. Это несвязанный элемент. Основные свойства: Имя (Name) – название метки, Подпись (Caption) – текст, выведенный на метке.

Текстовое поле (TextBox) – предназначено для вывода информации из полей БД, это связанный элемент. Свойства: Данные (ControlSource) – определяет, какие данные отображаются в поле. Данные могут быть получены из таблицы или запроса, удобнее всего назначить источник данных из построителя выражений, нажав кнопку с многоточием справа от свойства Данные. Ручной ввод также несложен. Например, если в поле выводится поле ФИО из таблицы Сотрудники, в поле ввода Данные следует набрать = [Сотрудники]![ФИО]

Поле со списком (ComboBox) – после перетаскивания объекта на форму вызывается Мастер. Поле со списком может использовать данные из таблицы или запроса, либо вводится фиксированный набор значений для поля. Значение, выбранное из поля со списком, можно запоминать в переменной или в поле таблицы БД.

Список (ListBox), в отличие от поля со списком, позволяет лишь выбрать одно из заранее предусмотренных значений. Выбор из списка позволяет быть уверенным, что введенное значение является допустимым. После добавления объекта на форму вызывается Мастер, аналогичный Мастеру создания поля со списком.

Кнопка (Button) также создается с помощью Мастера.

 

Набор вкладок () – вкладки позволяют разместить в одном окне формы несколько наборов интерфейсных элементов.

 

Для выравнивания элементов формы достаточно выделить их «мышью» при нажатой Shift, а затем из контекстного меню выбрать подменю Выровнять. Аналогично можно выровнять размеры интерфейсных элементов, установить цвета текста и фона, изменить стиль оформления.

Подчиненная форма/отчет

 

Запросы

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

Примечание. Простые запросы на выборку практически не отличаются от фильтров. Более того, фильтры можно сохранять как запросы.

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

Для создания нового запросанадо в окне базы данных выбрать вкладку Запросы и щелкнуть по кнопке «Создать». Откроется окно "Новый запрос".

Конструктор позволит вам самостоятельно создать любой тип запроса.

Простой запрос позволит создать с помощью Мастера запрос на выборку из определенных полей таблиц или других запросов. (Это наилучший способ создания запроса для начинающих пользователей.)

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

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

Ряд запросов нельзя создать непосредственно из окна Новый запрос:

Запрос с параметрами - это запрос, при выполнении которого в его диалоговом окне пользователю выдается приглашение ввести данные, на основе которых будет выполняться запрос.

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

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

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

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

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

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

Задание параметров производится в строке Условия отбора для соответствующих полей. Например, для того, чтобы Access предложил набрать фамилию в окне диалога, достаточно в строке параметра Условия отбора для поля "ФИО" ввести фразу (скобки тоже вводить): [Введите фамилию сотрудника]

Примеры выражений в условиях отбора:

Поле Выражение Описание
ПунктНазначения "Киев" Отображает заказы на доставку товаров в Киев.
ПунктНазначения "Киев" Or "Минск" Использует оператор Or для отображения заказов на доставку товаров в Киев или Минск.
ДатаОтгрузки Between #05.01.95# And #10.01.95# Использует оператор Between...And для отображения заказов на отгрузку товаров не ранее 5-янв-95 и не позднее 10-янв-95.
ДатаОтгрузки #2/2/95# Отображает заказы на отгрузку товаров 2-фев-95.
СтранаДоставки In("Канада", "Великобритания") Использует оператор In для отображения заказов на доставку товаров в Канаду или Великобританию.
СтранаДоставки Not "США" Использует оператор Not для отображения заказов на доставку товаров во все страны, за исключением США.
ИмяКлиента Like "С*" Заказы на доставку товаров клиентам, имена которых начинаются с буквы С.
Название >="Н" Отображает заказы на доставку товаров в фирмы, названия которых начинаются с букв, находящихся в диапазоне от Н до Я.
КодЗаказа Right([OrderID], 2)="99" Использует функцию Right для отображения заказов, код которых заканчивается на 99.
Название Len([Название]) >Val(30) Использует функции Len и Val для отображения заказов для фирм, названия которых состоят из более чем 30 символов.
Поле Выражение Описание
ДатаИсполнения Between Date( ) And DateAdd("m", 3, Date( )) Использует оператор Between...And и функции DateAdd и Date для отображения заказов, требующих исполнения в течение трех месяцев, начиная с сегодняшней даты включительно.
ДатаЗаказа < Date( )- 30 Использует функцию Date для отображения заказов, сделанных ранее, чем 30 дней назад.
ДатаЗаказа Year([ДатаЗаказа])=1996 Использует функцию Year для отображения заказов, сделанных в 1996 году.
ДатаЗаказа DatePart("q", [ДатаЗаказа])=4 Использует функцию DatePart для отображения заказов на четвертый квартал.
ДатаЗаказа DateSerial(Year ([ДатаЗаказа]), Month([ДатаЗаказа])+1, 1)-1 Использует функции DateSerial, Year и Month для отображения заказов на последний день каждого месяца.
ДатаЗаказа Year([ДатаЗаказа])= Year(Now()) And Month([ДатаЗаказа])= Month(Now()) Использует функции Year и Month, а также оператор And для отображения заказов текущего года и месяца.
             

 

Пустые значения

Поле Выражение Описание
ОбластьДоставки Is Null Отображает заказы для клиентов, у которых поле «ОбластьДоставки» является пустым.
ОбластьДоставки Is Not Null Отображает заказы для клиентов, у которых поле «РайонДоставки» содержит какое-либо значение.
Факс " " Отображает заказы для клиентов, у которых нет факсимильного аппарата, то есть для тех клиентов, у которых поле «Факс» содержит пустую строку, а не значение Null.

Часть значения поля

Поле Выражение Отображает
ИмяКлиента Like "С*" Выполненные заказы для клиентов, имена которых начинаются с буквы С.
ИмяКлиента Like "*Импорт" Выполненные заказы для клиентов, имена которых заканчиваются на слово «Импорт».
ИмяКлиента Like "[А-Д]*" Выполненные заказы для клиентов, имена которых начинаются с букв от А до Д.
ИмяКлиента Like "*тр*" Выполненные заказы для клиентов, имена которых содержат сочетание букв «тр».
ИмяКлиента Like "Дом мод?" Выполненные заказы для клиентов, у которых имя начинается со слова «Дом», а второе слово в имени содержит четыре буквы, причем первые три из них «мод», а четвертая неизвестна.

 

Для доступа к запросам на изменение надо открыть пункт меню Запрос - в открывшемся списке вы увидите все виды запросов на изменение.

 

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

· на физическом носителе информации (обычно это жесткий диск) требуется меньший объем пространства;

· запрос может использовать обновленные версии любых записей, измененных со времени последнего запуска запроса.

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

Отчеты

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

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

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

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

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