Субд ms access. ключевые поля. определение и редактирование связей между таблицами
Содержание:
- Вычисляемые поляв запросе БД Access 2003
- Добавление записей и ввод данных
- Что такое СУБД и язык структурированных запросов SQL
- Общие сведения о первичных ключах в Access
- Свойство «Размер поля»
- Сравнение поля со списком и элемента управления с автозаполнением
- Ключевое поле
- Признаки БД, чем отличаются от электронных таблиц
- Понимание таблиц
- Изменение размеров полей и строк
- Как сделать список в access?
- Типы данных в связях и соединениях
- Объединение таблиц в запросы
- 23 Формирование запроса с вычисляемым полем в ms Access 2007
Вычисляемые поляв запросе БД Access 2003
2010-02-28
Владимир Ткаченко
В БД Microsoft Access вычисляемые поля могут быть созданы в запросе, форме или отчете.
Вычисляемые поля используются для различных целей, в том числе и для проведения расчетов, Для выполнения подсчетов в вычисляемые поля объектов базы данных Access вводят Выражения.
Выражения — это формулы аналогичные формулам Excel, но только вместо ссылок на ячейки в них используются имена полей. Ввод выражений возможен как вручную, так и с помощью Построителя выражений.
Выражения могут содержать следующие элементы:
- идентификаторы (имя поля и элемента управления, которые заключаются в квадратные скобки);
- операторы (арифметические, логические, сравнения и другие операторы);
- функции (готовые формулы, которые состоят из имени и аргумента, помещенного в круглые скобки)
- константы (элементы, которые не изменяются в Выражении, например Null, Истина, Ложь);
- значения (например, значения даты и времени, численные положительные или отрицательные значения).
Примеры Выражения:
- =/1,2, где «=» — опрератор, — имя поля, а 1,2 — значение;
- Date(), где Date — имя функции текущей даты, которая не имеет аргумента.
Рассмотрим создание вычисляемых полей в бланке запроса базы данных Access 2003. Для ввода Выражения в запрос его необходимо открыть в режиме Конструктора.
Чтобы создать вычисляемое поле в запросе (в существующем или вновь создаваемом запросе) открытого в режиме конструктора, необходимо ввести Выражение в строку Поле свободного столбца бланка запроса.
Рассмотрим создание вычисляемого поля в бланке запроса на примере базы данных Training_students_VP. Постановка задачи: в запросе на выборку (Запрос 3) создать поле, в котором должны отображаться итоговые оценки (ниже на 20% от полученных по результатам рейтинга). Для решения этой задачи откроем бланк «Запроса 3» в режиме конструктора (Рис. 1).
Рис. 1.
Для создания вычисляемого поля можно применить «Построитель выражений». Для этого надо установить курсор в свободное поле и выбрать на панели инструментов команду Построить (можно также воспользоваться контекстным меню), откроется окно Построитель выражений.
В верхней области построителя расположено текстовое поле выражения, предназначенное для записи выражения. Ниже поля выражения размещается строка с операторами. Три текстовых поля в нижней области используются для выбора элементов, которые могут быть вставлены в текстовое поле выражения. Выражение можно записать с клавиатуры или сформировать из готовых функций, операторов и других элементов.
Для поставленной задачи в Построитель можно ввести выражение =/1,2 с клавиатуры (Рис.2) и щелкнуть на кнопке ОК. Рис. 2.
В результате в бланке запроса появится вычисляемое поле =/1,2
Рис. 3.
Далее надо закрыть бланк запроса в режиме конструктора и открыть его в режиме таблицы. В таблице вычисляемое поле состоит из слова «Выражение» и цифры 1, которая показывает, каким по счету создано выражение. Необходимо также отметить, что результаты вычислений, отображаемые в записях, не отформатированы.
Рис. 4.
С учетом вышеизложенного следует изменить название вычисляемого поля и отформатировать его. Для этого необходимо вернуться в режим конструктора и слово Выражение1 заменить на «Итог_оценка». Затем щелкнуть правой кнопкой мыши на вычисляемое поле и в контекстном меню выбрать команду Свойства, откроется диалоговое окно Свойства поля (Рис. 5)
Рис. 5.
В окне Свойства поля установить формат, например Фиксированный и закрыть это окно. Затем закрыть запрос в режиме конструктора и открыть его в режиме таблицы. В результате на экране будет отображен запрос с отформатированным вычисляемым полем. Необходимо отметить, что значения вычисляемого поля не хранятся в базе данных, а являются результатом вычислений при формировании запроса.
Добавление записей и ввод данных
Ввод данных в таблицы в Access аналогичен вводу данных в Excel. Для работы с записями вам нужно будет ввести данные в ячейки.
Чтобы добавить новую запись:
Существует три способа добавления новой записи в таблицу:
В группе «Запись» на вкладке «Главная» щелкните команду «Создать».
На панели навигации «Запись» в нижней части окна нажмите кнопку «Новая запись».
Просто начните печатать в строке ниже вашей последней добавленной записи.
Иногда, когда вы вводите информацию в запись, выдается всплывающее окно, чтобы сообщить вам, что введенная вами информация недействительна. Это означает, что в поле, в котором вы работаете, есть правило проверки, которое является правилом о типе данных, которые могут отображаться в этом поле. Нажмите «ОК», затем следуйте инструкциям во всплывающем окне, чтобы повторно ввести свои данные.
Чтобы сохранить запись:
- 1. Выберите вкладку «Главная» и найдите группу «Записи».
- 2. Нажмите кнопку «Сохранить».
Перед закрытием таблицы обязательно сохраните несохраненные записи. При закрытии таблицы Access не будет запрашивать сохранение.
Что такое СУБД и язык структурированных запросов SQL
Определение
Системы управления базами данных СУБД – специальные средства, включающие определенный язык программирования, предназначены для разработки программ или их систем, работающих с базами данных.
Распространенные СУБД:
- Oracle Database;
- MS SQL Server;
- MySQL (MariaDB);
- ACCESS в составе профессионального пакета Microsoft Office.
Современные системы обладают большими возможностями, а также способствуют разработке сложных программных комплексов.
Определение
SQL (SQL, Structured Query Language) — язык программирования структурированных запросов, применяемый в качестве эффективного способа сохранения данных, поиска их частей, обновления, извлечения из базы и удаления.
SQL представляет собой ключевой инструмент оптимизации и обслуживания базы данных. Возможности обработки охватывают:
- команды определения представлений;
- указания прав доступа, схем отношений;
- взаимодействие с другими языками программирования;
- проверку целостности;
- задание начала и завершения транзакций.
SQL отличается простотой и легкостью в изучении. Его применяют:
- разработчики баз данных, для обеспечения функциональности приложений;
- тестировщики, в ручном и автоматическом режиме;
- администраторы, с целью поддержки рабочих параметров среды.
Общие сведения о первичных ключах в Access
С помощью полей первичных ключей Access быстро связывает данные из нескольких таблиц и объединяет эти данные по заданному принципу. Поля первичного ключа можно использовать в других таблицах для ссылки на таблицу, являющуюся источником первичного ключа. В этих таблицах такие поля называются внешними ключами. Например, поле «ИД клиента» из таблицы «Клиенты» может также использоваться в таблице «Заказы». В таблице «Клиенты» оно будет первичным ключом, а в таблице «Заказы» — внешним. Проще говоря, внешний ключ — это первичный ключ другой таблицы. Дополнительные сведения см. в статье Основные сведения о создании баз данных.
1. Первичный ключ
При переносе существующих данных в базу данных в них уже может существовать поле, которое можно использовать как первичный ключ. Часто в роли первичного ключа таблицы выступает уникальный идентификационный номер, например порядковый или инвентарный номер или код. Например, в таблице «Клиенты» для каждого клиента может быть указан уникальный код клиента. Поле кода клиента является первичным ключом.
Для первичного ключа автоматически создается индекс, ускоряющий выполнение запросов и операций. Кроме того, приложение Access проверяет наличие и уникальность значений в поле первичного ключа.
При создании таблицы в режиме таблицы Access автоматически создает первичный ключ с именем «Код» и типом данных «Счетчик».
Создание приемлемого первичного ключа
Чтобы правильно выбрать первичный ключ, следует учитывать несколько характеристик.
Ключ должен однозначно определять каждую строку.
В нем не должно быть пустых или отсутствующих значений — он всегда содержит значение.
Ключ крайне редко изменяется (в идеале — никогда).
Если не удается определить приемлемый ключ, создайте для него поле с типом данных «Счетчик». Поле «Счетчик» заполняется автоматически созданными значениями при первом сохранении каждой записи. Таким образом, поле «Счетчик» соответствует всем трем характеристикам приемлемого первичного ключа. Дополнительные сведения о добавлении поля «Счетчик» см. в статье Добавление поля счетчика в качестве первичного ключа.
Поле с типом данных «Счетчик» является хорошим первичным ключом.
Примеры неудачных первичных ключей
Любое поле, не имеющее одной или нескольких характеристик подходящего первичного ключа, не следует выбирать в качестве первичного ключа. Ниже представлено несколько примеров полей, которые не годятся на роль первичного ключа в таблице «Контакты», и пояснения, почему их не следует использовать.
Неподходящий первичный ключ
Может быть не уникальным и может изменяться
Свойство «Размер поля»
После создания поля и указания типа данных для него можно настроить дополнительные свойства поля. Набор доступных дополнительных свойств зависит от типа данных поля. Например, вы можете настроить размер текстового поля с помощью свойства Размер поля.
Для числовых и денежных полей свойство Размер поля особенно важно, поскольку определяет диапазон значений поля. Например, одноразрядное числовое поле может содержать только целые числа в диапазоне от 0 до 255
Свойство Размер поля определяет также, сколько места на диске занимает каждое значение числового поля. В зависимости от размера поля число может занимать 1, 2, 4, 8, 12 или 16 байт.
Примечание: В полях MEMO и текстовых полях возможны значения переменных размеров. Для этих типов данных свойство Размер поля задает максимальный размер доступного пространства для одного значения.
Дополнительные сведения о свойствах полей и той роли, которую они выполняют для различных типов данных, см. в разделе Справочные сведения о типах данных. Ознакомьтесь также со статьей Задание размера поля.
Сравнение поля со списком и элемента управления с автозаполнением
В следующем представлении:
Для поля Зона доставки используется элемент управления с автозаполнением. Как только пользователь введет первую или несколько первых букв зоны, будет отображено первое соответствие в списке. Элемент управления с автозаполнением следует применять, если пользователи уже знают, что они ищут, и не хотят полностью просматривать длинный список. Дополнительные сведения см. в статье Добавление элемента управления автозаполнением в представление.
Для поля Штат используется элемент управления «поле со списком». Нажмите кнопку со стрелкой вниз, чтобы увидеть весь список значений. Поле со списком следует применять, когда пользователи сразу должны видеть все варианты выбора. Дополнительные сведения см. в статье Добавление поля со списком в представление.
Ключевое поле
Ключевое поле
Это та запись, которая определяет запись в таблице.
Нажимаем в колонке слева на названии таблицы Читатель. Справа появилась таблица. Правой кнопкой нажимаем на названии – конструктор – в пустом поле пишем код читателя.
Сделаем это поле ключевым (на панели задач – ключевое поле) и закроем таблицу.
Это первичный ключ. Для ключевых полей используют тип – счетчик или числовой.
Определим ключевое поле для каждой таблицы аналогично предыдущей.
Книги – код книги.
Издательство – код издательства (тип данных –мастер подстановок – Издательство- выберите поле код и наименование).
Выдача – код выдачи (код читателя – таблица Читатель /код читателя и фамилия/ и код книги – таблица Книги/ код книги и название).
Любое поле можно перетащить мышкой в начало таблицы или в другое нужное место. Ключевые поля обычно ставят на первое месте
Связывание таблиц
Переходим на вкладку – Работа с базами данных – схема данных – появилось окно.
Поочередно нажимаем на название каждой таблицы и закрываем окно.
Появилась схема данных. Определим как будем связывать таблицы.
Издательства выпускают книги. Значит, в таблицу Книги надо добавить Код издательства. Для этого открываем таблицу Книги в режиме конструктора и добавляем код издательства.
Возвращаемся в схему данных и перетаскиваем Код издательства из одной таблицы в Код издательства другой. Появляется окно. Ставим Обеспечение целостности данных и в двух других пунктах ниже. Далее нажимаем создать. Появляется связь – один ко многим, т.е. одно издательство выпускает много книг.
Аналогично свяжем две другие таблицы.
Откроем таблицу Выдача через конструктор. Добавляем поле Код читателя.
Сохраняем, закрываем.
Теперь Код читателя таблицы Читатель переносим на Код читателя таблицы Выдача.
Ставим везде галочки — создать. Появилась связь (читатель берет много книг).
Теперь свяжем таблица Книги и Выдача. Для этого в таблицу Выдача добавим Код книги. И проделаем те же манипуляции.
Заполнение таблиц
Берем таблицу Читатель. Код читателя ставим на первое место. Нумерация будет автоматическая в этом поле. Вводим остальные данные (не менее 10) и сохраняем правой кнопкой.
Заполняем остальные таблицы по аналогии.
Признаки БД, чем отличаются от электронных таблиц
Любая база данных обладает набором стандартных признаков. Основными из них являются:
- хранение и обработка в вычислительной системе;
- логическая структура;
- наличие схемы или метаданных, которые описывают логическую структуру базы в формальном виде.
Примечание
Первый признак соблюдается строго, остальные могут трактоваться по-разному и иметь неодинаковые степени оценки. Согласно общепринятой практике, к базам данных не относят файловые архивы, интернет-порталы или электронные таблицы.
Рассмотреть базу данных целесообразно на примере Access. Это специальное приложение, в котором хранятся упорядоченные данные, что допускает применение и других приложений (к примеру, Excel). В обоих случаях информация представлена в табличном виде.
Excel включает особые средства, позволяющие работать с упорядоченными данными, позволяет формировать простые базы данных. При внешнем сходстве приложения обладают рядом отличий:
- Excel не предусматривает установку реляционных связей между таблицами. Благодаря связям в Access, исключается ненужное дублирование информации и ошибки при обработке данных. Также допускается совместное использование данных из разных таблиц.
- Access обеспечивает хранение в таблицах нескольких миллионов записей. При этом скорость их обработки сохраняется на высоком уровне.
- Access включает возможность организации одновременной работы с базой данных нескольких десятков пользователей, которые в реальном времени могут видеть изменения, выполненные другими пользователями.
- Данные в Access сохраняются автоматически после завершения редактирования текущей записи. В случае Excel для этого нужно запустить команду «Сохранить».
- Таблицы в Access характеризуются заранее предопределенной жесткой структурой. Невозможно в один столбец записать разные типы данных или форматировать отдельные ячейки.
- Прямо в таблице базы данных Access нельзя выполнять вычисления, подобные действия реализуются с применением запросов.
Вывод: Excel целесообразно использовать для создания компактных баз данных, которые могут поместиться на одном рабочем листе. Excel обладает рядом значительных ограничений для ведения полноценной базы данных, но может успешно использоваться для анализа данных благодаря достаточному математическому аппарату.
Понимание таблиц
Все таблицы состоят из горизонтальных строк и вертикальных столбцов с небольшими прямоугольниками, называемыми ячейками в местах пересечения строк и столбцов. В Access строки и столбцы называются записями и полями.
Поле — это способ организации информации по типу. Подумайте о названии поля как о вопросе и каждой ячейке в этом поле в качестве ответа на этот вопрос.
Запись — это одна единица информации. Каждая ячейка в данной строке является частью записи этой строки. Каждая запись имеет свой идентификационный номер. В таблице каждый идентификационный номер уникален для своей записи и относится ко всей информации в этой записи. Идентификационный номер для записи не может быть изменен.
Каждая ячейка данных в вашей таблице является частью как поля, так и записи. Например, если у вас есть таблица имен и контактная информация, каждый человек будет представлен записью, и каждый фрагмент информации о каждом имени человека, номере телефона, адресе и т. Д. Будет содержаться в отдельном поле в строке этой записи.
Изменение размеров полей и строк
Если ваши поля и строки слишком малы или велики для данных, содержащихся в них, вы всегда можете изменить их размер, чтобы отображался весь текст.
Чтобы изменить размер поля:
- 1. Поместите курсор над правой сеткой в заголовке поля. Ваша мышь станет двойной стрелкой.
- 2. Нажмите и перетащите линию сетки вправо, чтобы увеличить ширину поля или влево, чтобы уменьшить ширину поля.
- 3. Отпустите мышь. Ширина поля будет изменена.
Чтобы изменить размер строки:
- 1. Поместите курсор на нижнюю линию сетки в серой области слева от строки. Ваша мышь станет двойной стрелкой.
- 2. Нажмите и перетащите линию сетки вниз, чтобы увеличить высоту строки или вверх, чтобы уменьшить высоту строки.
- 3. Отпустите мышь. Высота строки будет изменена.
Как сделать список в access?
Довольно распространена ситуация, когда выбор значения из одного списка должен приводить к обновлению второго, подчинённого списка, недавно я описывал такую реализацию на PHP, а теперь вот понадобилась в Access.
Если упростить задачу, то в базе хранится информация о сотрудниках предприятия, работающих в нескольких отделах, при этом в каждом отделе есть свой набор должностей. Поскольку и у отдела, и у должности есть свои атрибуты (название, номер офиса для отдела, должностной оклад для должности и т.п.), целесообразно вынести информацию об отделах и должностях в отдельные таблицы. С другой стороны, сотрудник работает и в отделе, и на должности, так что получается следующая схема данных:
«Примечания» здесь добавлены просто для иллюстрации отношения «один к одному» как связи между двумя ключами.
Теоретически сотрудник может переводиться как на другую должность в рамках отдела, так и в другой отдел, что приведёт к необходимости выбрать должность из списка должностей нового отдела. То есть, по выбору для сотрудника нового отдела из верхнего списка, должен обновляться и нижний список «Наименование должности»:
Как решить эту типовую задачу, мы и поговорим.
1. Источником записей формы «Сотрудники» делаем соответствующую таблицу, форму можно сгенерировать мастером, а затем удалить из неё поля «Код отдела» и «Код должности».
2. Вместо первого поля, включив кнопку «Мастера» на панели элементов Access, сгенерируем список, выводящий вместо кодов названия отделов. Сделать это можно так:
- форма выведена в режиме конструктора, нажимаем кнопку «Поле со списком», показываем мышкой границы будущего списка. По отпускании кнопки мыши появится окно «Мастер создания полей со списком»;
- выбираем «Объект будет использовать значения из таблицы или запроса», жмём «Далее»;
- выбираем таблицу «Отделы», жмём «Далее»;
- переносим оба поля таблицы отделов в №выбранные поля» (кнопкой >>), жмём «Далее»;
- убеждаемся, что список виден, а галочка «Скрыть ключевой столбец» включена, жмём «Далее»;
- выбираем «Сохранить в поле:» и поле «КодОтдела», жмём «Далее»; задаём подпись к списку и жмём «Готово».
3. С помощью конструктора запросов составляем следующий запрос:
Здесь «ПолеСоСписком16» — наименование компоненты верхнего списка.
4. Аналогично с помощью мастера делаем второй список, указав источником строк наш запрос, а выбор сохраняя в поле КодДолжности таблицы Сотрудники, получается вот такое окно свойств второго списка:
Увидеть это окно можно, щёлкнув правой кнопкой мыши на втором списке и выбрав «Свойства».
5. Теперь самое главное. В списке компонент выбираем «Форма» вместо имени поля со списком, выбираем вкладку события, событие Текущая запись, щёлкаем по кнопке с многоточием, подтверждаем, что нам нужен построитель программы, а не макроса или выражения:
Открылся редактор Visual Basic и появилась пустая функция с именем Form_Current . Пишем туда единственную строчку кода, которая обновит нижний список:
Здесь предполагается, что имя нижнего списка ПолеСоСписком20 .
6. Ту же самую строчку кода добавляем на событие «До обновления» верхнего списка, у меня получилось вот что:
7. Готово, теперь при выборе отдела из верхнего списка в нижний список подгружается список должностей этого отдела. Все остальные возможности приложения — стандартные и не потребуют написания кода.
Аналогично можно организовать любые другие 2 подчинённых списка на Access, когда при выборе значения из одного списка должны загружаться новые значения во второй список.
Ну и общие соображения по зависимым спискам в Access:
Если первый список не связан с полем источника записей формы, то обновление надо ставить в обработчик события BeforeUpdate («До обновления» в окне свойств конструктора формы в русских версиях Access-а), либо в AfterUpdate.
Если же первый список связан с полем источника записей формы, то обновление надо ставить в обработчик события Current («Текущая запись») формы и BeforeUpdate (AfterUpdate) первого списка.
Данный способ действует только для одиночной формы (на экране видно одну запись).
Обычно ленточные и табличные формы предназначены для поиска и просмотра, для ввода и редактирования — одиночная форма, поэтому в ней как раз и нужна фильтрация списков.
Типы данных в связях и соединениях
Связь между таблицами — это связи между общими полями в двух таблицах. Связь может быть одного из следующих типов: один к одному, один ко многим, многие ко многим.
Соединение — это операция SQL, объединяющая данные из двух источников в одну запись в наборе записей запроса на основе значений указанного общего поля в источниках. Соединение может быть одного из следующих типов: внутреннее соединение, левое внешнее соединение, правое внешнее соединение.
Когда вы создаете связь между таблицами или добавляете соединение в запрос, типы данных в соединяемых полях должны быть одинаковые или совместимые. Например, вы не сможете создать соединение между числовым и текстовым полями, даже если значения в этих полях совпадают.
При использовании связи или соединения поля с типом данных «Счетчик» совместимы с полями числового типа, если для свойства Размер поля последних задано значение Длинное целое.
Для поля, участвующего в связи между таблицами, нельзя изменить тип данных или свойство Размер поля. Чтобы изменить свойство Размер поля, временно удалите связь. Но после изменения типа данных вы не сможете снова создать связь, пока не измените тип данных связанного поля. Дополнительные сведения о таблицах см. в статье Общие сведения о таблицах.
Объединение таблиц в запросы
Последнее, что вам нужно учитывать при разработке запроса, — это то, как вы связываете или присоединяетесь к столам, с которыми работаете. Когда вы добавляете две таблицы в запрос Access, это то, что вы увидите в области « Связывание объектов» :
Строка, соединяющая две таблицы, называется линией соединения . Посмотрите, как линия соединения на самом деле является стрелкой? Это связано с тем, что он указывает порядок, в котором запрос просматривает данные из двух таблиц. На изображении выше, стрелка указывает от налево на право , это означает , что запрос будет смотреть на данные в левой таблице первой, то только данные в правой таблице, относится к записям это уже видели в левой таблице.
Ваши таблицы не всегда будут соединены таким образом, иногда Access к ним присоединятся право на левый. В любом случае вам может потребоваться изменить направление соединения, чтобы убедиться, что ваш запрос содержит правильную информацию. Направление объединения может повлиять на информацию, которую получает ваш запрос.
Чтобы понять, что это значит, рассмотрите вопрос, который мы разрабатываем. По нашему запросу нам нужно увидеть клиентов, которые разместили заказы, поэтому мы включили таблицу Customers и таблицу Orders . Давайте рассмотрим некоторые данные, содержащиеся в этих таблицах.
Что вы замечаете, когда смотрите эти списки? Каждый заказ в таблице « Заказы» связан с кем-то в таблице « Клиенты» — клиентом, который разместил этот заказ. Однако, когда вы смотрите таблицу Customers, вы увидите, что клиенты, разместившие несколько заказов, связаны более чем с одним заказом, а те, кто никогда не размещал заказ, не привязаны к никаким заказам. Как вы можете видеть, даже когда две таблицы связаны, возможно иметь записи в одной таблице, которые не имеют отношения к какой-либо записи в другой таблице.
Итак, что происходит, когда Access пытается запустить наш запрос с текущим соединением слева направо ? Во-первых, он извлекает каждую запись из таблицы влево: таблица наших клиентов.
Затем он извлекает каждую запись из правой таблицы, которая имеет отношение к записи Access, уже взятой из левой таблицы.
Поскольку наше соединение началось с таблицы Customers , наш запрос будет включать записи для всех наших клиентов, включая тех, кто никогда не размещал заказы. Это больше информации, чем мы хотим! Мы только хотим , чтобы увидеть записи для клиентов , которые разместили заказы .
К счастью, мы можем исправить эту проблему, изменив направление линии соединения. Если мы присоединяемся к таблицам справа налево , Access сначала получит все заказы из правой таблицы, которая является нашей таблицей Orders :
Затем Access будет смотреть на левую таблицу и извлекать только записи клиентов, которые связаны с ордером справа.
Теперь у нас есть именно та информация, которую мы хотим: все клиенты, которые разместили заказ, и только те клиенты. Как вы можете видеть, нам нужно было присоединиться к нашим таблицам в правильном направлении, чтобы получить нужную нам информацию.
Теперь, когда мы понимаем, какое направление соединения нам нужно использовать, мы готовы построить наш запрос!
В нашем запросе, мы должны использовать право — налево Join, но правильное направление присоединиться к таблицам в запросах будет зависеть от того, что информация , которую вы хотите увидеть и где хранится эта информация. Когда вы добавляете таблицы в запрос, Access автоматически присоединяется к таблицам для вас, но часто не присоединяет их в правильном направлении
Вот почему важно всегда пересматривать соединения между вашими таблицами перед созданием запроса
23 Формирование запроса с вычисляемым полем в ms Access 2007
В БД Microsoft Access вычисляемые поля могут быть созданы в запросе, форме или отчете.
Вычисляемые поля используются для различных целей, в том числе и для проведения расчетов, Для выполнения подсчетов в вычисляемые поля объектов базы данных Access вводят Выражения.
Выражения — это формулы аналогичные формулам Excel, но только вместо ссылок на ячейки в них используются имена полей. Ввод выражений возможен как вручную, так и с помощью Построителя выражений.
- Выражения могут содержать следующие элементы:
- идентификаторы (имя поля и элемента управления, которые заключаются в квадратные скобки);
- операторы (арифметические, логические, сравнения и другие операторы);
- функции (готовые формулы, которые состоят из имени и аргумента, помещенного в круглые скобки)
- константы (элементы, которые не изменяются в Выражении, например Null, Истина, Ложь);
- значения (например, значения даты и времени, численные положительные или отрицательные значения).
- Примеры Выражения:
- =/1,2, где «=» — опрератор, — имя поля, а 1,2 — значение;
- Date(), где Date — имя функции текущей даты, которая не имеет аргумента.
Рассмотрим создание вычисляемых полей в бланке запроса базы данных Access 2007. Для ввода Выражения в запрос его необходимо открыть в режиме Конструктора.
Чтобы создать вычисляемое поле в запросе (в существующем или вновь создаваемом запросе) открытого в режиме конструктора, необходимо ввести Выражение в строку Поле свободного столбца бланка запроса.
24 Параметрические запросы в ms Access 2007
На этапе создания запроса не всегда можно определить, какие именно значения должны использоваться в условиях отбора. В этом случае удобно задавать параметр, который Асcess запрашивает при каждом выполнении запроса.
Чтобы его определить, в строку Условие отбора вместо конкретного значения вводится имя или фраза, заключенная в квадратные скобки (). То, что находится внутри квадратных скобок, Access рассматривает как имя параметра.
Оно выводится в окне диалога при выполнении запроса, и поэтому должно представлять собой содержательную фразу.
В случае необходимости он меняется в окне Параметры запроса, которое открывается после выполнения команды Запрос – Параметры.
В столбце Параметр этого окна вводится имя каждого параметра, точно в таком же виде, как оно было указано в бланке запроса, но без квадратных скобок. В столбце Тип данных из раскрывающегося списка устанавливается нужный тип данных.
Аналогично в запросе задаются несколько параметров. При выполнении таких запросов поочередно вводятся значения для каждого из них.