Как сделать запрос в access 2003?

Основы создания запросов в Access 2003

Сегодня мы начнем рассматривать такое приложение как — Microsoft Access 2003, которое умеет создавать собственные базы данных (формат mdb), а также создавать клиентские приложения к существующим базам на основе MS SQL Server. Темой сегодняшней статьи будет создание новых запросов из Access, имеется в виду, как простые запросы, так и различные функции, представления и процедуры. Под запросом здесь понимается объекты базы данных.

О Microsoft Access

Microsoft Access – программный продукт компании Microsoft, являющейся реляционной СУБД. Имеет огромные возможности при организации базы данных, создания отдельного приложения, которое может взаимодействовать с множеством других СУБД. Наиболее часто встречающееся решение клиент-сервер, где в качестве клиента выступает приложение, написанное в Access (язык VBA, формы и многое другое), а сервером является СУБД Microsoft SQL Server. Однако Access поддерживает и взаимодействие с другими СУБД, например, такими как: MySql или PostgreSQL. О Access можно разговаривать долго, но цель сегодняшней статьи именно создание запросов (объектов) из Access.

Переходим к практике и начнем с простой базы mdb, т.е. как там создать эти самые запросы.

Создание запросов в Microsoft Access 2003 — база MDB

Для начала открываем базу, затем нажимаем на объекты «Запросы» и жмем кнопку «Создать».

Примечание! Имеется в виду, что база у Вас уже есть.

И перед Вами откроется новое окно выбора типа запроса

Давайте рассмотрим каждый из этих типов запросов подробней.

Типы запросов в Access 2003 — база MDB

Конструктор – это создание запроса на основе конструктора, так сказать в графическом редакторе, но в нем можно перейти в режим sql и написать текст запроса как обычно. Сразу же после запуска у Вас откроется окно выбора нужных таблиц или уже существующих запросов, так как существующие запросы можно также использовать для выборки необходимых данных, это как будто «представление».

Далее Вы просто выбираете нужные поля, ставите условия, сортировку и так далее.

Если не нравится это делать в графическом редакторе, то можете переключиться в режим SQL, для этого нажмите пункт меню «Вид», затем «Режим SQL».

Простой запрос – это, можно сказать, такой же конструктор, только немного другого вида и поменьше возможностей.

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

Повторяющееся записи – это как видно из названия поиск повторяющихся записей.

Записи без подчиненных – это поиск тех записей, которые отсутствуют в той или иной таблице.

С базами mdb достаточно, так как их редко используют на предприятиях, обычно используют следующую схему – пишут отдельный клиент, а все данные хранят на сервере с помощью СУБД в нашем случае — это MS SQL Server, а клиент Access (.adp).

Создание запросов в Microsoft Access 2003 — база MS SQL Server

Давайте рассмотрим создание новых запросов из клиента Access на базе MS SQL Server (подразумевается, что клиент adp и база данных на основе MS SQL Server у Вас уже есть).

Примечание! Данная статья не подразумевает изучение sql, поэтому на момент прочтения этой статьи Вы уже должны понимать основы sql и понятие основных объектов в базе данных таких как: представление, функция, процедура. Если Вы совсем новичок в этом, то сначала, конечно же, рекомендуется освоить SQL, так как многие термины ниже Вам будут не понятны. Рекомендуемые статьи:

Начало все такое же, открывает проект, затем нажимаем на объекты «Запросы» и жмем кнопку «Создать».

И теперь подробней.

Типы запросов в Access 2003 — база MS SQL Server

Конструктор встроенной функции – это, можно сказать, обычное представление, только в нее можно передавать параметры, затем выполняются какие-то запросы на сервере, и возвращается таблица. Это своего рода функция, которая возвращает данные в виде таблицы. К ней обращаются следующим образом (если говорить об sql):

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

Затем если Вы хотите добавить входящие параметры можете просто в условие ставить знак @ и название переменной, например, так:

После на панели в свойствах функции

на вкладке «параметры функции» появится те параметры, которые Вы указали, причем передавать их нужно в том порядке, в котором они здесь указанны.

Конструктор представления – это создание обычного представления, в просто народе «Вьюха».

Конструктор сохраненной процедуры – создание процедуры с помощью конструктора, принцип такой же, как и в вышеупомянутых функциях. Напомню процедура — это набор sql операторов, как на выборку, так и на изменение данных.

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

Ввод скалярной функции – это создание функции, которая возвращает значение. Создается с помощью текстового редактора.

Ввод табличной функции – это создание функции, которая вернет набор записей. Похожа на встроенную функцию.

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

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

Конечно же, все эти объекты Вы можете создать и на сервере с помощью, например, Enterprise Manager (устарел, сейчас SQL Server Management Studio), но мы сегодня рассматриваем возможность создания этих объектов из access клиента.

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

Вычисляемые поля в запросе БД Access 2003

Вычисления в запросе БД Access 2003

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

Выражения могут содержать следующие элементы:

  • идентификаторы (имя поля и элемента управления, которые заключаются в квадратные скобки);
  • операторы (арифметические, логические, сравнения и другие операторы);
  • функции (готовые формулы, которые состоят из имени и аргумента, помещенного в круглые скобки)
  • константы (элементы, которые не изменяются в Выражении, например Null, Истина, Ложь);
  • значения (например, значения даты и времени, численные положительные или отрицательные значения).
  • =[Оценка]/1,2, где «=» — опрератор, [Оценка] — имя поля, а 1,2 — значение;
  • Date(), где Date — имя функции текущей даты, которая не имеет аргумента.
Читать еще:  Как сделать фильтры в access?

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

Рассмотрим создание вычисляемого поля в бланке запроса на примере базы данных Training_students_VP. Постановка задачи: в запросе на выборку (Запрос 3) создать поле, в котором должны отображаться итоговые оценки (ниже на 20% от полученных по результатам рейтинга). Для решения этой задачи откроем бланк «Запроса 3» в режиме конструктора (Рис. 1).

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

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

Для поставленной задачи в Построитель можно ввести выражение =[Оценка]/1,2 с клавиатуры (Рис.2) и щелкнуть на кнопке ОК.

В результате в бланке запроса появится вычисляемое поле =[Оценка]/1,2

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

С учетом вышеизложенного следует изменить название вычисляемого поля и отформатировать его. Для этого необходимо вернуться в режим конструктора и слово Выражение1 заменить на «Итог_оценка». Затем щелкнуть правой кнопкой мыши на вычисляемое поле и в контекстном меню выбрать команду Свойства, откроется диалоговое окно Свойства поля (Рис. 5)

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

© Обучение в интернет, .
Обратная связь

Конструирование запросов в СУБД Access 2003

Цель работы: Изучение приемов конструирования и использования запросов на выборку данных.

Перед выполнением лабораторной работы необходимо изучить следующие разделы:

— создание запросов в режиме конструктора;

— правила записи условий отбора данных;

— применение встроенных функций;

— создание вычисляемых полей;

— использование форм ввода-вывода данных;

— создание перекрестных и активных запросов.

Задание 1. Создание простого запроса.

1. Откройте базу данных Институт.

2. Щелкните в окне База данных по объекту Запросы.

3. В окне Запросы щелкните по кнопке Создать.

4. В окне Новый запрос выберите Конструктор и нажмите кнопку Ok.

5. В окне Добавить таблицу добавьте все четыре таблицы и закройте окно.

6. Отрегулируйте размеры и расположение окон с таблицами на схеме данных.

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

8. Просмотрите выборку, выполнив команду ВИД/Режим таблицы или щелкнув по кнопке инструментальной панели Вид.

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

10. Закройте запрос. Появится диалоговое окно, в котором необходимо подтвердить необходимость его сохранения. Присвойте запросу имя Выборка1.

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

1. В окне База данных скопируйте запрос Выборка1 путем перетаскивания значка запроса при нажатой клавиши Ctrl.

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

3. Откройте запрос в режиме конструктора. Добавьте в запрос поле Коммерческий.

4. Введите в строку Условие отбора поля Коммерческий значение Да.

5. Отмените вывод на экран при выполнении запроса значения поля Коммерческий. Для этого выключите флажок вывода на экран для этого поля.

6. Просмотрите выборку, щелкнув по кнопке Запуск на инструментальной панели.

7. Закройте запрос с сохранением макета запроса.

Задание 3. Создайте запрос на выборку, с помощью которого найдите фамилию и номер зачетной книжки самого молодого студента в одной из групп.

1. В окне База данных щелкните по кнопке Создать и выберите вариант Конструктор.

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

3. Введите в строку Условие отбора поля Дата рождения формульное выражение в соответствии с заданием. Используйте инструментальное средство Access Построитель выражений. Для этого установите курсор в соответствующую ячейку таблицы описания запроса и щелкните по кнопке инструментальной панели Построить.

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

5. Удалите первый аргумент функции и вставьте вместо него имя поля Дата рождения либо непосредственным вводом с клавиатуры, либо путем раскрытия щелчком мышки списка Таблицы в левом подокне, а затем, выбрав таблицу Студент, а в ней – поле. В последнем случае нужно удалить неиспользуемую часть строки Выражение. Далее введите значения остальных аргументов функции, таким образом, чтобы функция приняла следующий окончательный вид: DMax(«[Дата рождения]»;»Студент»;»[N группы]=851″)

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

7. Продемонстрируйте результат работы преподавателю.

Задание 4. Создайте запрос для подсчета количества коммерческих студентов в каждой группе.

1. Создайте новый запрос с использованием таблиц Факультет, Группа, Студент.

2. Введите в 1-ый столбец бланка запроса поле Наименование факультета, во 2-ой столбец – поле N группы, в 3-ий столбец – поле Коммерческий.

3. Установите в качестве условия выборки для 3-го столбца – значение Да.

4. Установите для 1-го и 2-го столбцов бланка сортировку по возрастанию.

5. Отключите вывод на экран данных 3-го столбца.

6. Введите в 4-ый столбец поле Коммерческий и замените название столбца на Количество коммерческих. Для этого ячейка с названием поля должна содержать: Количество коммерческих: Коммерческий (новое и старое названия столбца разделены символом «двоеточие»)

Читать еще:  Как сделать exe файл из access?

7. Щелкнув по кнопке инструментальной панели Групповые операции, добавьте в бланк строку Групповая операция и выберите из списка для 4-го столбца операцию Count.

8. Просмотрите выборку с подсчетом итогов, щелкнув по кнопке инструментальной панели Запуск, либо выполнив команду ЗАПРОС/Запуск.

9. Вернитесь в режим конструктора запросов, щелкнув по кнопке Вид инструментальной панели.

10. Сохраните запрос, присвоив ему имя Подсчет коммерческих по группам.

Задание 5.Составьте запрос, позволяющий увидеть выборку, отражающую количество коммерческих студентов по каждому факультету и каждой группе. Заголовки столбцов должны соответствовать названиям факультетов, заголовки строк – номерам групп. Выборка должна содержать также итоговый столбец с общим количеством коммерческих студентов на каждом факультете. Такой вид выборки может быть реализован перекрестным запросом. Для применения подобного запроса желательно иметь в базе данных сведения по 5-6 группам студентов, обучающихся на 3-х факультетах.

1. Создайте с помощью конструктора новый запрос с использованием таблиц Факультет, Группа, Студент.

2. Введите в 1-ый столбец бланка запроса поле Наименование факультета, во 2-ой столбец – поле N группы, в 3-ий столбец – поле Коммерческий.

3. Выполните команду ЗАПРОС/Перекрестный, либо щелкните по кнопке инструментальной панели Тип запроса и выберите из списка Перекрестный.

4. Выберите значения в строке бланка Перекрестная таблица, развернув список в ячейках: для 1-го столбца Заголовки строк, для 2-го столбца – Заголовки столбцов, для 3-го столбца – Значение.

5. Выберите функцию Count для групповой операции в 3-м столбце.

6. Просмотрите перекрестную выборку, щелкнув по кнопке Запуск.

7. Для создания итогового столбца снова перейдите в режим конструктора и вставьте в бланк запроса еще одно поле Коммерческий. Введите перед названием этого поля название столбца Итого: В строке Групповая операция выберите Count, а в строке Перекрестная таблица – Заголовки строк.

8. В режиме таблицы уменьшите ширину столбцов таблицы-выборки. Для этого выделите столбцы с данными по группам и выполните команду ФОРМАТ/Ширина столбцов/По ширине данных.

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

10. Примерный вид перекрестной выборки представлен на рис.1.

Рис.1. — Перекрестная выборка количества коммерческих студентов по группам и факультетам.

Задание 6. Составьте запрос для вывода списков групп, причем номер группы должен запрашиваться в процессе выполнения запроса. Такой запрос называется запросом с параметром. Параметром является Номер группы. Значение параметра вводится в диалоговом окне. Для создания запроса необходимо ввести в ячейку с условием текст условия отбора в квадратных скобках.

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

2. Введите в 1-ую строку бланка запроса все поля таблицы.

3. Введите в ячейку строки Условие отбора для поля N группы текст: [Введите номер группы]

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

5. Продемонстрируйте результат работы преподавателю.

93.79.221.197 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Вопрос по sql, ms-access &#8211 Как создать параметризованный запрос в MS Access 2003 и использовать другие запросы / формы для заполнения параметров и получения набора результатов

Я хотел бы иметь возможность создать параметризованный запрос в MS Access 2003 и передать значения определенных элементов формы в этот запрос, а затем получить соответствующий набор результатов и выполнить некоторые базовые вычисления с ними. Я вкратце расскажу, как получить параметры запроса для заполнения элементами формы. Если мне нужно использовать VBA, это нормально.

Присвойте параметру какое-нибудь значение, чтобы пользователю было предложено ввести значение при выполнении запроса.Поле ссылки на форме (возможно скрытое)Создайте запрос на лету и не используйте параметры.

Я думаю, что это неправильно для меня, что вы хотели бы ввести что-то вроде [?enter ISO code of the country] или ссылки на поля в вашей форме, такие как: [Forms]![MyForm]![LastName] .

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

Обычно я выбирал последний вариант, создавал запрос на лету и обновлял объект запроса по мере необходимости. Тем не менее, это распространено для атаки с использованием SQL-инъекций (случайно или специально, зная моих пользователей), и это просто неприлично.

(Я не проверял это сам, только кое-что, что я собрал в своих путешествиях, потому что время от времени я хотел сделать это, но заканчивал тем, что использовал один из моих ранее упомянутых кладжей)

редактировать У меня наконец была причина использовать это. Вот фактический код.

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

Например, если вы хотите отфильтровать запрос по элементу управления LastName в MyForm, вы должны использовать это в качестве критерия:

Затем вы определяете ссылку на форму как параметр. Результирующий SQL может выглядеть примерно так:

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

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

где SQL запроса Access включает [frontMthOffset] фактически в SQL. например

Все просто работает!

и вы хотели бы иметь возможность получить это значение ([? enter . country] one) из формы, где у вас есть элементы управления и некоторые данные в нем. Ну . это может быть возможно, но требует некоторой нормализации кода.

Одним из решений было бы присвоение элементам управления формы определенной логики, такой как fid_Country для контроля, который будет держать id_Country стоимость. Затем ваш запрос может быть представлен в виде строки:

После того, как вы ввели все запрошенные данные в форму, нажмите кнопку «запрос». Логика будет просматривать все элементы управления и проверять, присутствуют ли они в запросе, в конечном итоге заменяя параметр значением элемента управления:

При этом у вас будет полностью обновленный запрос, в котором параметры заменены реальными данными. В зависимости от типа fid_country (строка, GUID, дата и т. Д.) Может потребоваться добавить дополнительные двойные кавычки или нет, чтобы получить окончательный запрос, например:

Это полностью совместимый с Access запрос, который вы можете использовать для открытия набора записей:

Я думаю, что вы сделали здесь.

Эта тема имеет решающее значение, когда ваша цель заключается в разработке приложений Access. Вы должны предложить пользователям стандартный способ запроса данных из их графического интерфейса не только для запуска запросов, но и для фильтрации непрерывных форм (точно так же, как это делает Excel с опцией «автофильтр») и управления параметрами отчетов. Удачи!

Читать еще:  Как сделать составной ключ в access?

Как сделать запрос в access 2003?

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

Конструирование запросов на выборку с условиями отбора

Рассмотрим запросы на выборку в Access на примере получения информации из таблицы ТОВАР базы данных Поставка товаров.

Задача 1. Пусть необходимо выбрать ряд характеристик товара по его наименованию.

  1. Для создания запроса в окне базы данных выберите вкладку ленты — Создание (Create) и в группе Запросы (Queries) нажмите кнопку Конструктор запросов (Query Design). Откроется пустое окно запроса на выборку в режиме конструктора — ЗапросN (QueryN) и диалоговое окно Добавление таблицы (Show Table) (рис. 4.2).
  2. В окне Добавление таблицы (Show Table) выберите таблицу ТОВАР и нажмите кнопку Добавить (Add). Выбранная таблица будет отображена в области схемы данных запроса. Закройте окно Добавление таблицы (Show Table), нажав кнопку Закрыть (Close).

В результате выполненных действий в окне конструктора запросов (рис. 4.1) в верхней панели появится схема данных запроса, которая включает выбранные для данного запроса таблицы. В данном случае одну таблицу ТОВАР. Таблица представлена списком полей. Первая строка в списке полей таблицы, отмеченная звездочкой (*), обозначает все множество полей таблицы. Нижняя панель является бланком запроса, который нужно заполнить.

Кроме того, на ленте появляется и автоматически активизируется новая вкладка Работа с запросами | Конструктор (Query Tools | Design) (на рис. 4.3 представлена на часть этой вкладки), на которой цветом выделен тип созданного запроса — Выборка (Select). Таким образом, по умолчанию всегда создается запрос на выборку. Команды этой вкладки представляют инструментарий для выполнения необходимых действий при создании запроса. Эта вкладка открывается, когда в режиме конструктора создается новый запрос или редактируется существующий.

  1. Для удаления любой таблицы из схемы данных запроса установите на нее курсор мыши и нажмите клавишу . Для добавления ― нажмите кнопку Отобразить таблицу ( Show Table) в группе Настройка запроса (Query Setup) на вкладке Работа с запросами | Конструктор (Query Tools | Design) или выполните команду Добавить таблицу (Show Table) в контекстном меню, вызываемом на схеме данных запроса.
  2. В окне конструктора (рис. 4.4) последовательно перетащите из списка полей таблицы ТОВАР поля НАИМ_ТОВ, ЦЕНА, НАЛИЧИЕ_ТОВ в столбцы бланка запроса в строку Поле (Field).
  3. Для включения нужных полей из таблицы в соответствующие столбцы запроса можно воспользоваться следующими приемами:
    • в первой строке бланка запроса Поле (Field) щелчком мыши вызвать появление кнопки списка и выбрать из списка нужное поле. Список содержит поля таблиц, представленных в схеме данных запроса;
    • дважды щелкнуть на имени поля таблицы в схеме данных запроса;
    • для включения всех полей таблицы можно перетащить или дважды щелкнуть на символе * (звездочка) в списке полей таблицы в схеме данных запроса.
  4. Если вы по ошибке перетащили в бланке запроса ненужное поле, удалите его. Для этого переместите курсор в область маркировки столбца сверху, где он примет вид черной стрелки, направленной вниз, и щелкните кнопкой мыши. Столбец выделится. Нажмите клавишу или выполните команду Удалить столбцы (Delete Columns) в группе Настройка запроса (Query Setup).
  5. В строке Вывод на экран (Show) отметьте поля, иначе они не будут включены в таблицу запроса.
  6. Запишите в строке Условия отбора (Criteria) наименование товара, как показа-но в бланке запроса на рис. 4.4. Так как выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =. Используемое в выражении текстовое значение вводится в двойных кавычках, которые добавляются автоматически.
  7. Выполните запрос, щелкнув на кнопке Выполнить (Run) или на кнопке Режим (View) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записью из таблицы ТОВАР, отвечающей заданным условиям отбора.

  1. Если при вводе сложного наименования товара вы допустили неточность, товар не будет найден в таблице. Использование операторов шаблона — звездочка (*) и вопросительный знак (?) (стандарт ANSI-89, используемый для запросов по умолчанию) или знак процента (%) и подчеркивания (_) (ANSI-92, рекомендуемый как стандарт для SQL Server), упрощает поиск нужных строк и позволяет избежать многих ошибок. Введите вместо полного имени товара Корпус* или Корпус%. Выполните запрос. Если в поле наименования товара одно значение начинается со слова «Корпус», результат выполнения запроса будет таким же, как в предыдущем случае. После выполнения запроса введенное выражение будет дополнено оператором Like «Корпус*». Этот оператор позволяет использовать символы шаблона при поиске в текстовых полях.
  2. Если необходимо найти несколько товаров, используйте оператор In. Он позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Запишите в строке условий отбора In («Корпуc MiniTower»;»HDD Maxtor 20GB»;»FDD 3,5″). В таблице запроса будет выведено три строки. В операторе In не допускается использование символов шаблона.
  • Сохраните запрос, щелкнув на вкладке Файл (File) и выполнив команду Сохранить (Save). В окне Сохранение (Save As) введите имя запроса Пример1. Заметим, что имя запроса не должно совпадать не только с именами имеющихся запросов, но и с именами таблиц в базе данных.
  • Закройте текущий запрос по команде контекстного меню Закрыть (Close) или нажав кнопку окна запроса Закрыть (Close).
  • Выполните сохраненный запрос, выделив запрос в области навигации и выбрав в контекстном меню команду Открыть (Open).
  • Для редактирования запроса выделите его в области навигации и выполните в контекстном меню команду Конструктор (Design View).
  • Задача 2. Пусть надо выбрать товары, цена которых не более 1000 руб., и НДС не более 10%, а также выбрать товары, цена которых более 2500 руб. Результат должен содержать наименование товара (НАИМ_ТОВ), его цену (ЦЕНА) и НДС (СТАВКА_НДС).

    1. Создайте новый запрос в режиме конструктора, добавьте таблицу ТОВАР. В окне конструктора (рис. 4.5) последовательно перетащите из списка полей таблицы ТОВАР в бланк запроса поля НАИМ_ТОВ, ЦЕНА, СТАВКА_НДС.
    2. Запишите Условия отбора (Criteria), как показано в бланке запроса на рис. 4.5. Между условиями, записанными в одной строке, выполняется логическая операция AND. Между условиями, записанными в разных строках, выполняется логическая операция OR.
    3. Выполните запрос, щелкните на кнопке Выполнить (Run) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записями из таблицы ТОВАР, отвечающими заданным условиям отбора.
    4. Сохраните запрос, выполнив соответствующую команду в контекстном меню запроса, которое вызывается при установке курсора на заголовок запроса. Дайте ему имя Пример2.

    Задача 3. Пусть надо выбрать все накладные за заданный период. Результат должен содержать номер накладной (НОМ_НАК), код склада (КОД_СК), дату отгрузки (ДАТА_ОТГР) и общую стоимость отгруженного товара (СУММА_НАКЛ).

    1. Создайте новый запрос в режиме конструктора, добавьте таблицу НАКЛАДНАЯ. В окне конструктора последовательно перетащите из списка полей таблицы НАКЛАДНАЯ в бланк запроса все необходимые поля.
    2. Для поля ДАТА_ОТГР в строке Условия отбора (Criteria) запишите Between #11.01.2008# And #31.03.2008#. Оператор Between задает интервал дат (в ANSI-92 вместо знака # используются одинарные кавычки ‘). Кроме того, этот оператор позволяет задать интервал для числового значения.

    Для закрепления смотрим видеоурок:

    Ссылка на основную публикацию
    Adblock
    detector