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

Запросы выборки данных в Access: Создание запроса с параметром, создание перекрестного запроса

Использование окна запроса

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

Откроем базу данных STUD, как было рассмотрено в ЛР1. Создадим запрос, выводящий информацию о студентах, у которых имеются задолженности.

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

Открывшееся окно конструктора запросов состоит из двух частей: верхняя содержит списки полей выбранных таблиц, а нижняя — бланк QBE для создания запроса. Каждый столбец бланка описывает одно поле, участвующее в запросе.

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

перетащив их в бланк QBE . Рассмотренным выше методом перетащите из таблицы “Студенты” поле Фамилия.

Запрос “Задолженность” будет иметь вид, как показано на рисунке.
Установка связей между таблицами производится автоматически, используя структуру связей, созданную при генерации проекта БД. Можно задавать другие варианты связи таблиц и иные типы связей (внешнее объединение, «один-к-одному», «один-ко-многим» и т.д.). Изменение связей производится в верхней части окна выбором связанного поля в описании одной таблицы и транспортировкой его при нажатой кнопке мышки на описание соответствующего поля связанной таблицы. Тип связи можно изменить, активизировав ее щелчком мышки на линии связи.

Условие для отбора нужных нам полей производится включением этого условия для данного поля в строке QBE «Условие отбора». Несколько значений отбора вводятся в одну строку, разделенные логическими условиями AND или OR, либо вводятся в последующие ячейки строки «или».
Установим для таблицы «Результаты» условие отбора студентов, у которых задолженности, для чего в столбец описания поля внесем строку «Задолженность» из таблицы «Результаты», и в строке «Условие отбора» введем:
Да

Сбросим для этого поля флажок «Показать», запрещающий вывод данного поля в выборке (т.к его не обязательно выводить).
Кроме стандартных операторов сравнения ‘=’, ‘ ‘, ‘ =’, Access поддерживает также BEETWEN, IN, LIKE.
В запросе могут присутствовать т.н. вычисляемые поля — вычисленные значения над любыми полями таблицы. Access поддерживает большое число функций и операторов, применяемых при генерации вычисляемых полей.
Чтобы просмотреть результат запроса необходимо на панели нажать кнопку:

Изменить заголовок можно также активизировав столбец с описанием поля; а затем выполнив команду «Свойства» меню «Вид», ввести в строку «Подпись поля» его название.

Строки итоговой таблицы желательно отсортировать по полю «Фамилия» таблицы «Студенты». Для этого в столбце с описанием данного поля в строке «Сортировка» выберем пункт «по возрастанию». При необходимости сортировки по нескольким полям Access сортирует данные в порядке их расположения в бланке QBE. После просмотра запроса видно, что необходимо ввести поле Имя из таблицы “Студенты”, т.к фамилии повторяютя и запрос не несет необходимой информации. Чтобы вставить поле, перетяните его в сетку QBE на место, где он должен находится и все остальные поля передвинуться на одну позицию в право.
Запустить полученный запрос на выполнение можно также командой «Выполнить» меню «Запрос». Проверим полученные результаты на соответствие критериям отбора. Сохраним полученный запрос под именем «Задолженности». Запрос представляет собой таблицу:

Создадим запрос, в котором будет вычисляться дополнительное поле. Кафедра вычислительной техники решила своим работникам к новому году выплатить премию в размере 10% от зарплаты. Создадим запрос на базе таблицы “Преподаватели”, с полями Фамилия, Кафедра, Должность, Зарплата. Чтобы создать вычисляемое поле “Премия”, выводящее информацию о величине премии работнику, в новом столбце (следующим за заполненным), в строке “Поле” введем выражение Зарплата*0,1. Изменим заголовок поля, введя перед выражение его название. Ячейка будет содержать: «Премия: [Зарплата]*0,1».

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

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

Итоговые запросы позволяют получать статистическую информацию по группам данных, как например: сумму, среднее арифметическое, мат.ожидание, дисперсию значений полей таблицы; число значений полей, удовлетворяющих определенным условиям и т.д.
Создадим запрос среднего бала студента. Откроем новый бланк запроса, внесем в него таблицу «Студенты», “Результаты” и установим вывод полей «Номер_С», «Фамилия», «Оценка_Т», «Оценка_П», “Оценка_Л”.

Для вычисления в запросе итоговых значений щелкнем по кнопке «Групповые операции» панели инструментов. В бланке QBE появится строка «Групповая операция», где для каждого описанного поля в этой строке установлено по умолчанию «Группировка». Теперь записи по каждому полю будут группироваться, но итог подводиться не будет. Для выведения итоговых значений необходимо вместо слова «Группировка» установить какую-нибудь групповую операцию (см прил.1).
Для полей “Оценка_Т”, “Оценка_П”, “Оценка_Л” операцию «Avg», выводящую среднее значение поля для группы записей (получим средний бал).

Изменим также заголовки полей выводимой таблицы. Для этого в описании полей в строке «Поле» введем их новые названия, отделяя их от описания двоеточием:
Оценка_Т: Теория
Оценка_П: Практика
Оценка_Л: Лабы

Часть выражения, расположенная до двоеточия выводится после запуска запроса как заголовок столбца, вместо выводимого Access по умолчанию. Таким способом можно формировать более понятные заголовки полей, чем генерируемые базой.
Сохраним полученный запрос под именем «Итог». Запустите запрос и проанализируйте полученные результаты.

1.3. Создание запроса с параметром

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

Создадим запрос, выводящий список преподавателей работающих на задаваемой пользователем кафедре. За основу возьмем таблицу «Преподаватели». Выберем в бланк вывода пункт «Преподаватели.*», выводящий все поля таблицы «Преподаватели”. Введем еще раз описание поля “Кафедра”, сбросим для него флажок вывода на экран, и в строке «Условие отбора» этого поля введем выражение:
=[Введите название кафедры]

Сохраним полученный запрос как «Выборка преподавателей по кафедрам». Выполнив запуск запроса, мы увидим диалоговое окно, запрашивающее название кафедры.

После ввода параметра Access выводит список преподавателей, местом работы которых является запрашиваемая кафедра.
Ввод параметров можно использовать при любом типе запросов: итоговом, перекрестном, запросе-действии и т.д.

1.4. Создание перекрестного запроса

Access поддеpживает специальный тип итоговых запpосов, называемый перекрестным. Перекрестный запрос выводит вычисленные значения как функцию от существующих полей. Так в Access можно вывести запрос, описывающий суммарный зароботок по должностям.
Необходимое требование к созданию перекрестного запроса наличие поля — заголовка строки, поля — заголовка столбца, и одно поле вычисляемого значения. Поля, являющиеся заголовками строк и столбцов должны иметь в строке «Групповая операция» установку «Группировка». Для поля — значения необходимо выбрать в «Групповой операции» какую-либо групповую функцию, или выражение, содержащее групповую операцию.

Читать еще:  Как сделать фильтр в отчете access?

Для нашего запроса для таблицы «Преподаватели» в меню «Запрос» установим указатель «Перекрестный». Access добавит в блок QBE строку «Перекрестная таблица». Затем в бланк перенесем поле «Должность», установим “заголовки столбцов”.

Следующее поле-«Кафедра”, установим “заголовки строк”
Результирующее поле- “Зарплата” , для него установим “значение”
«групповая операция» — Avg,
Сохраним полученный запрос под имеем «Зарплаты по должностям».

1.5. Создание запроса типа «внешнее объединение»

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

Создадим запрос, выводящий информацию обо всех студентах, с задолженностями и без. В этом запросе будет использоваться внешнее объединение таблиц «Студенты» и «Результаты» по совпадению поля «Номер_С» со всеми записями таблицы «Студенты».
Для создания внешнего объединения необходимо изменить параметры объединения. Откроем запрос «Задолженность» в режиме конструктора. Щелкнем по линии связи между таблицами «Студенты» и «Результаты» для открытия диалогового окна «Параметры объединения».

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

Выберем третий тип связи и щелкнем на кнопке «Ок». После этого на линии соединения таблиц появится стрелка, указывающая на внешнее объединение. Сохраним модифицированный запрос (через “Сохранить как” («Save as..»), чтобы не затереть предыдущий запрос) под именем «Внешнее объединение по студентам».

Запрос с параметром (параметрический запрос)

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

Чтобы определить параметр, введите в строку «Условие отбора» вместо конкретного значения имя или фразу, заключенную в квадратные скобки ([]). То, что заключено внутри квадратных скобок, Access рассматривает как имя параметра. Оно выводится в окне диалога при выполнении запроса, поэтому в качестве имени параметра разумно использовать содержательную фразу. В запросе можно задать

Рис. 10.34. Пример создания запроса с параметром

несколько параметров; при этом имя каждого из них должно быть уникальным и информативным.

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

Перекрестный запрос

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

Для построения перекрестного запроса выполните следующие действия.

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

Измените тип запроса на Перекрестный (вкладка Работа с запросами, группа Тип запроса) (рис. 10.35).

Рис. 10.35. Кнопка Перекрестный запрос

В нижней части бланка запроса появятся строки «Групповая операция» и «Перекрестная таблица» (рис. 10.36).

В строке «Перекрестная таблица» для каждого поля запроса выберите одну из четырех установок: Заголовки строк, Заголовки столбцов. Значение (выводимое в ячейках перекрестной таблицы) или Не отображается.

Для перекрестного запроса определите поле (можно несколько) в качестве заголовков строк. Определите одно (и только одно) поле, которое будет использоваться в качестве заголовков столбцов.

Определите одно (и только одно) поле значений. Это поле должно быть итоговым (т.е. в строке «Групповая операция» должна быть задана одна из итоговых функций, на-

Рис. 10.36. Конструктор Перекрестного запроса

пример суммирования (Sum), определения среднего значения (Avg) или количества (Count)).

В качестве примера рассмотрим создание перекрестного запроса, отображающего количество товаров, хранящихся на складах. В заголовках строк укажем наименования товаров, в заголовках столбцов – номера складов (рис. 10.37).

Рис. 10.37. Пример создания перекрестного запроса

Вычисляемые поля в запросах

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

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

Вычисляемое поле может также содержать результат конкатенации (объединения) значений текстовых полей. Для этого заключите текст в кавычки, в качестве оператора конкатенации используется символ «&». Например, можно создать поле, которое будет содержать результат объединения поля [Фамилия] и поля [Имя].

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

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

Рис. 10.38. Создание вычисляемого поля

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

В режиме конструктора запроса измените имя «Выражение!» на более содержательное. В примере «Выражение!» изменено на «ЦенаСоСкидкой».

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

Рис. 10.39. Построитель выражений

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

Построитель поможет правильно построить выражение. Щелкните на кнопке ОК, и введенное выражение будет перенесено в бланк запроса.

Запросы в Access 2013 с помощью элементов формы

Запросы с помощью элементов формы

Создание вспомогательного запроса Для форми пошуку

Откроем учебную базу данных.

Создание — Запросы — Конструктор запросов (см. статью Створення запитів в MS Access 2010)

Добавляем поля Дата (сортировка по возрастанию), Найменування кієнта, Адреса, Телефон, Рахунок, Найменування товару, Ціна, Кількість (Дані про замовлення), Передоплата, Сума передоплати. Создаем вычисляемое поле Сума замовлення.

Закрываем запрос и даем ему имя Для форми пошуку

Создание формы Пошук

Создадим пустую форму. Для этого выберем в меню вкладку Создание и кликнем на Пустая форма.

Получим форму в режиме макета. Кликнем правой кнопкой мышки по форме и выберем в контекстном меню Свойства формы (или Работа с макетами форм — Конструктор — Сервис — Страница свойств).

Справа появится Окно свойств. В выпадающем списке строки Источник записей вкладки Данные выберем Для форми пошуку

После этого в сервисе выберем Добавить поля. Окно свойств сменится на Список полей.

Добавим на форму следующие элементы (перетягивание мышкой из списка полей на форму):

Дата (дважды), Найменування клієнта, Адреса, Телефон, Рахунок, Найменування товару, Ціна (дважды), Кількість (дважды), Передоплата, Сума передоплати (дважды).

Изменим надписи для даты, цены, количества и суммы предоплаты.

Дата:Дата з:

Дата:Дата по:

Ціна:Ціна від:

Ціна:Ціна до:

Кількість:Кількість від:

Кількість:Кількість до:

Сума передоплати:Сума передоплати від:

Сума передоплати:Сума передоплати до:

Выделим поле напротив надписи Дата з:. В инструментах конструктора форм выберем вкладку Конструктор. Откроем окно свойств для выделенного элемента (Сочетание клавиш ALT+ENTER; Конструктор — Сервис — Страница свойств или в контекстном меню выбрать Свойства)

В окне свойств перейдем на вкладку Другие и в строке Имя впишем Дата з

Перейдем на вкладку Данные и в строке Данные сотрем Дата

В строке Значение по умолчанию впишем #02.01.2010#; в строке Правило проверки впишем >#01.01.2010# и в строке Сообщение об ошибкеВведіть дату після 1 січня 2010 року! (см. свойства таблицы Данні про замовлення)

Читать еще:  Как сделать связь многие ко многим в access?

Аналогично поступим и с другими полями формы.

Дата по: вписываем имя Дата по в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем Date(); в строке Правило проверки впишем >#01.01.2010# и в строке Сообщение об ошибкеВведіть дату після 1 січня 2010 року! .

Найменування клієнта:, Адреса:, Телефон:, Рахунок:, Найменування товару: очищаем строку Данные вкладки Данные.

Ціна від: вписываем имя Ціна від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1; в строке Правило проверки впишем >0 и в строке Сообщение об ошибкеВведіть суму > нуля!

Ціна до: вписываем имя Ціна до в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальную цену); в строке Правило проверки впишем >0 и в строке Сообщение об ошибкеВведіть суму > нуля!

Кількість від: вписываем имя Кількість від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1; в строке Правило проверки впишем >0 и в строке Сообщение об ошибкеВведіть кількість > нуля!

Кількість до: вписываем имя Кількість до в строке Имя вкладки Другие;очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальное количество); в строке Правило проверки впишем >0 и в строке Сообщение об ошибкеВведіть кількість > нуля!

Передоплата: очищаем строку Данные вкладки Данные.

Сума передоплати від: вписываем имя Сума передоплати від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем . ; в строке Правило проверки впишем >=0 и в строке Сообщение об ошибкеВведіть суму, яка більше або дорівнює нулеві!

Сума передоплати до: вписываем имя Сума передоплати до в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальную сумму предоплаты); в строке Правило проверки впишем >=0 и в строке Сообщение об ошибкеВведіть суму, яка більше або дорівнює нулеві!

Преобразуем поле Найменування клієнта в поле со списком (контекстное меню поля)

Выполним следующее: Окно свойствДанныеИсточник строкДовідник клієнтівНайменування клієнта — закрыть построитель запросов и подтвердить сохранение.

Аналогично преобразуем в поле со списком Найменування товару. В качестве источника выбрать Найменування товару.

В результате получим

Закроем и сохраним форму под именем Пошук

Создание запроса Пошук

Скопируем запрос Для форми пошуку. Назовем его Пошук.

В условии отбора под Дата вызываем Построитель и вписываем туда >=[Формы]![Пошук]![Дата з] And =[Формы]![Пошук]![Ціна від] And =[Формы]![Пошук]![Кількість від] And =[Формы]![Пошук]![Сума передоплати від] And Теги: Access

Запрос с параметром (параметрический запрос)

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

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

2. В качестве условия введите параметр, заключенный в квадратные скобки (например, [Введите название] или >[Выше какого роста?]).

3. Выберите команду Запрос/Параметры.

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

5. Нажмите кнопку Запуск панели инструментов.

6. В появившемся окне укажите значение параметра.

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

Вычисляемые поля в запросах

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

• квадратные скобки ([. ]), в них заключаются имена элементов управления;

• знаки номеров (#), в них заключаются распознанные даты;

• кавычки («»), в них заключается текст, не содержащий пробелов или знаков пунктуации.

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

Например: Прибыль:[Доход]-[Расход].

Запрос на создание таблицы

Данный тип запросов следует применять, например, для архивирования старых блоков данных или сохранения резервных копий таблиц:

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

2. Вернувшись в режим конструктора, выберите команду Запрос/Создание таблицы.

3. В появившемся окне введите имя новой таблицы и нажмите ОК.

Запрос на обновление

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

1. Создайте новый запрос выбора и проверьте его корректность, перейдя в режим Таблица.

2. Вернувшись в режим Конструктора, выберите команду Запрос/Обновление.

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

Запрос на добавление записей

С помощью этого типа запроса блоки данных одной таблицы (все или отобранные запросом) можно поместить в конец другой таблицы:

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

2. Вернувшись в режим Конструктора, выберите команду Запрос/ Добавление.

3. В появившемся окне введите имя таблицы, к которой нужно присоединить данные, и нажмите ОК.

Запрос на удаление записей

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

1. Создайте новый запрос выбора удаляемых блоков данных. Отбор блоков данных выполняется в соответствии с заданными в строке Условие критериями.

2. Проверьте корректность сформулированных условий, перейдя в режим Таблица.

3. Вернувшись в режим конструктора, выберите команду Запрос/Удалить.

4. В появившейся строке Удалить установите дополнительные критерии отбора.

Создание формы

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

Форма строится на основе Access-таблицы или запроса. При каждом открытии сохраненной формы обновляются данные запроса, на основе которого создается форма. Благодаря этому содержимое формы всегда соответствует информации в таблицах и запросах.

Читать еще:  Многотабличная форма access как сделать

Формы могут быть выведены на экран в трех видах: режим конструктора, режим формы и режим таблицы.

Access предоставляет быстрый способ создания формы на основе таблицы с использованием Мастера форм. Он задает пользователю вопросы о структуре и оформлении формы. Результатом диалога пользователя и Мастера форм является «готовая к работе» форма.

Пример

Создать таблицу и формы в режиме конструктора

1. Запустите MS Access/Новая база данных или Открыть базу данных/ОК

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

3. Нажимаем вкладку Таблицы/Создать

4. В появившемся окне Новая таблица выбираем пункт Конструктор/ОК

5. В окне таблица 1: таблица начинаем заполнять таблицу.

6. В графу Имя поля будем записывать имена полей. В нашем примере поля будут иметь следующие имена:

№ п/п, страна, площадь, население, столица, язык, валюта, карта.

Данные полябудут иметь следующиетипы данных(тип данных выбирается мышкой щелкнув по черному треугольнику):

№ п/п, площадь, население — числовой;

страна, столица, язык, валюта— текстовый;

Карта – поле объекта OLE

7. Внесем в таблицу имена полей и их тип, а затем закроем таблицу, нажав на кнопку X, расположенную в правом верхнем углу окна таблицы.

8. Запишем в окне Сохранение нашу таблицу под именем Страны/ОК

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

10. Нажать Открытьв окне Европа: база данных. Если вы захотите дополнить поля или изменить их тип, то должны будете нажать кнопку Конструктор.

11. Открыть Страны,на экране появится окно таблицы, заполнить ее. Для перемещения из одного поля в другое можно нажимать клавиши Enter, Tab или пользоваться установочными клавишами.

12. Для вставки карты в полеКартавыполнить следующий алгоритм: установить курсор в поле Карта/ выбрать в главном меню пункт Вставка/Объект/Microsoft Clip Gallery/ ОК/ Карты/Выбрать карту и вставить ее щелкнув левой кнопкой мыши (или из файла/обзор/открыть любую папку с рисунками)

Параметры запроса

Определение параметра для значения поля

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

Определение нескольких параметров запроса

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

OR [номер группы] OR [еще один номер]

Параметр запроса для ввода значения операнда выражения

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

Здесь в условии отбора используется функция Year, которая выделяет год из даты. Параметр запроса — [Год рождения] фигурирует как величина, с которой сравнивается значение данной функции.

Задание типа данных для параметра

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

Корректировка данных средствами запроса

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

Запрос на обновление

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

Запрос на добавление

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

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

Запрос на удаление

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

Мастера создания запросов

Простейшие запросы некоторых видов могут быть созданы с помощью мастеров Access. С помощью мастера можно создать:

  • простой запрос на выборку; перекрестный запрос;
  • запрос для поиска повторяющихся записей (записей с повторяющимися значениями в полях);
  • запрос для поиска записей, не имеющих подчиненных.

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

Мастера запросов на выборку

Простой запрос

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

Запрос для поиска повторяющихся записей

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

Запрос для поиска записей, не имеющих подчиненных

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

Мастер перекрестных запросов

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

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