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

Изменение данных с помощью модифицирующих запросов в MS Access XP. Создание запросов на изменение

Страницы работы

Содержание работы

ЗАДАНИЕ 4. ИЗМЕНЕНИЕ ДАННЫХ С ПОМОЩЬЮ МОДИФИЦИРУЮЩИХ ЗАПРОСОВ В MS ACCESS XP. СОЗДАНИЕ ЗАПРОСОВ НА ИЗМЕНЕНИЕ.. 2

1. СОЗДАНИЕ ЗАПРОСОВ НА ОБНОВЛЕНИЕ ДЛЯ ИЗМЕНЕНИЯ ЗНАЧЕНИЙ.. 2

2. ЗАПРОС НА СОЗДАНИЕ ТАБЛИЦЫ.. 4

3. ЗАПРОСЫ УДАЛЕНИЯ.. 6

4. ПОИСК В ТАБЛИЦАХ ЗАПИСЕЙ С ПОМОЩЬЮ МАСТЕРА ЗАПРОСОВ.. 8

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

4.2. Запрос на поиск повторяющихся записей. 12

4.3. Поиск в таблицах записей, не имеющих подчиненных. 14

5. ВОПРОСЫ ДЛЯ САМОПОДГОТОВКИ.. 16

6. ИТОГОВЫЕ ЗАДАНИЯ ПО РАЗДЕЛУ.. 16

ЗАДАНИЕ 4. ИЗМЕНЕНИЕ ДАННЫХ С ПОМОЩЬЮ МОДИФИЦИРУЮЩИХ ЗАПРОСОВ В MS ACCESS XP. СОЗДАНИЕ ЗАПРОСОВ НА ИЗМЕНЕНИЕ

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

Запросы на изменение могут быть использованы для выполнения следующих операций:

· Обновление информации в группе записей.

· Удаление записей из таблицы (или группы таблиц).

· Добавление записей из одной таблицы в другую.

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

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

· Сохраните в архиве таблицы, в которые вы намерены внести изменения.

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

· Внимательно просмотрите выбранные записи в режиме просмотра результирующей таблицы.

· Запустите запрос на изменение, используя кнопку «Запуск» на панели инструментов

· Проверьте внесенные изменения.

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

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

1. СОЗДАНИЕ ЗАПРОСОВ НА ОБНОВЛЕНИЕ ДЛЯ ИЗМЕНЕНИЯ ЗНАЧЕНИЙ

Рассмотрим действие запроса на изменение на примере изменения величины минимальной заработной платы в таблице «Справка». На момент написания данного пособия (начало 2003 года) величина минимальной заработной платы составляла 450 рублей. Предположим, что наши законодатели увеличили ее , до 650 рублей.

Замените 100 руб. на 650 во всех записях таблицы «Справка» в поле «MINX».

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

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

· Вновь вернитесь в режим Конструктора запросов

· Выделите команду Запрос Þ Обновление.

· В поле «Обновление» столбца «MINX» введите новое значение: просто напишите число 650

Обратите внимание, что, что если вы будете использовать в формулах имена полей, то имя поля должно быть заключено в квадратные скобки « [ ] »

· Выполните команду Запрос Þ Запуск или щелкните на кнопке выполнения запроса «Запуск» .

· Появится окно с сообщением о количестве заменяемых записей.

· Щелкните по кнопке «Да».

В результате выполнения запроса на обновление была выполнена операция изменения размера минимальной заработной платы со 450 до 650 рублей.

ВНИМАНИЕ! К сожалению, ваша радость по увеличению минимального уровня зарплаты оказалась напрасной.

Вы не заметили, что это был только проект закона.

· Поэтому вновь верните размер поля «MINX»таблицы «Справка» прежнее значение 450 рублей. Не забудьте проверить саму таблицу «Справка».

· Сохраните запрос под именем «Запрос на обновление MINX».

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

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

2. ЗАПРОС НА СОЗДАНИЕ ТАБЛИЦЫ

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

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

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

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

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

· Откройте вкладку Запросыдиалогового окна Базы данных.

· Щелкните на кнопке «Создание запроса в режиме конструктора».

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

· Выберите из таблиц необходимые поля и перенесите их в бланк запроса. Напоминаем, какие поля использовались при расчете заработной платы в предыдущем разделе курса (Задание 3. п. 5):

«KOEFF», «MINX», «DOPL_R» и «RKF» должны быть взяты из таблицы «Справка», а величины «Доплата»), «Вредность», «Классность», «Стаж» и «Доля ставки», должны быть взяты из таблицы «Сотрудники». Кроме того, в таблицу необходимо включить поля «Подразделение», «Фамилия» и «Имя» и «Должность».

При необходимости, задайте в соответствующих полях условия отбора записей

Создание запросов на обновление таблиц

Запросы на обновление используются главным образом для того, чтобы внести изменения сразу в большое количество записей с помощью одного запроса. Классическим примером такого запроса является изменение цены в таблице «Товары» (Products) на некоторый постоянный коэффициент, например можно увеличить цену одной из категорий товара на 20%. Чтобы создать такой запрос:

  1. Раскройте список таблиц, щелкнув мышью по ярлыку Таблицы (Tables) окна базы данных.
  2. Выделите таблицу «Товары» (Products). Щелкните левой кнопкой мыши по стрелке на кнопке Новый объект (New Object) на панели инструментов и выберите из списка значение Запрос (Query). Появится окно Конструктора запросов с таблицей «Товары» в верхней части. Перенесите в бланк запроса поля «Цена» и «КодТипа».
  3. Введите условие отбора записей: например, в столбец «КодТипа» введите значение 1.
  4. Выполните запрос, чтобы убедиться, что отбираются все записи, содержащие напитки.
  5. Теперь изменим запрос, превратив его в запрос на обновление. Для этого выполните команду меню Запрос, Обновление (Query, Update). Изменяется заголовок запроса и появляется дополнительная строка Обновление (Update To). При этом исчезают строки Сортировка (Sort) и Вывод на экран (Show) (рис. 8.8).
  6. Теперь нужно в строку Обновление (Update To) ввести выражение, по которому будет вычисляться новая цена: [Цена]* 0, 2. В других случаях можно вводить константу, например, если нужно поменять дату во многих записях на текущую.
  7. Теперь можно выполнить запрос. Для этого нажмите кнопку Запуск (Run) на панели инструментов. Так же, как и при добавлении записей в таблицу, Access выдаёт сообщение о количестве обновляемых записей и запрашивает подтверждение на обновление. Вы можете подтвердить обновление записей или отвергнуть.
Читать еще:  Как сделать запросы в access?

Рис. 8.8. Запрос на обновление записей

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

В приведенном примере изменялись значения в поле, которое не является первичным ключом в таблице «Товары» (Products). Особый случай возникает, когда требуется обновить значение первичного ключа в таблице. Если эта таблица связана отношением «один-ко-многим» с другими таблицами, то при изменении первичного ключа записи должны одновременно измениться значения внешних ключей во всех связанных записях подчиненных таблиц. Access обеспечивает выполнение такого изменения автоматически, т. к. поддерживает каскадное обновление записей. При определении связи между таблицами можно установить флажок каскадное обновление связанных полей (Cascade Update Related Fields).

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

Убедиться в том, как работает такой запрос, можно на примере таблиц «Сотрудники» (Employees) и «Заказы» (Orders). Для этого нам придется сначала сделать копии этих таблиц и установить связь между ними:

  1. Раскройте список таблиц в окне базы данных и выделите таблицу «Сотрудники».
  2. Скопируйте таблицу в буфер обмена, нажав комбинацию клавиш + .
  3. Вставьте таблицу из буфера обмена, нажав комбинацию клавиш + . Появится диалоговое окно Вставка таблицы (Paste Table As).
  4. В поле Имя таблицы (Table Name) введите строку: Сотрудники (копия). Оставьте предлагаемое по умолчанию значение переключателя в группе Параметры вставки (Paste Options). Нажмите кнопку ОК или клавишу . В списке появится новая таблица.
  5. Выполните шаги 1—4 для таблицы «Заказы», создав таблицу «Заказы (копия)».
  6. Для выполнения примера нам придется немного изменить таблицу «Заказы (копия)». Поле «КодСотрудника» в таблице «Заказы» является полем подстановки, т. е. хотя в этом поле содержатся коды сотрудников, при отображении таблицы в этом поле показываются фамилия и имя сотрудника. Мы можем временно удалить поле подстановки, чтобы видеть результаты каскадного обновления данного поля. Для этого достаточно открыть таблицу «Заказы (копия)» в режиме Конструктора, выделить строку «КодСотрудника», раскрыть в панели Свойства поля (Field Properties) вкладку Подстановка (Lookup) и установить значение свойства Тип источника строк (Row Source Type) равным Поле (Text box). Сохраните изменение.
  7. Еще одно изменение потребуется ввести в таблицу «Сотрудники (копия)». Поле «КодСотрудника» в ней имеет тип Счетчик (AutoNumber), поэтому Access не позволит изменить значение в этом поле. Откройте эту таблицу в режиме Конструктора и замените тип данных для поля «КодСотрудника» на Числовой (Number).
  8. Теперь нужно установить связи между новыми таблицами. Нажмите кнопку Схема данных (Relationships) на панели инструментов для вывода окна Схема данных (Relationships).
  9. Нажмите кнопку Очистить макет (Clear Layout), чтобы очистить окно схемы данных. Подтвердите свое намерение в окне сообщения, нажав кнопку Да (Yes).
  10. Добавьте таблицы «Сотрудники (копия)» и «Заказы (копия)» с помощью диалогового окна Добавление таблицы (Show Table). Для этого нажмите соответствующую кнопку на панели инструментов.
  11. Чтобы установить связь «один-ко-многим» между таблицами, перетащите поле «КодСотрудника» таблицы «Сотрудники (копия)» в соответствующее поле таблицы «Заказы (копия)». Появится диалоговое окно Изменение связей (Edit Relationship).
  12. В этом окне необходимо установить флажки Обеспечение целостности данных (Enforce Referential Integrity) и каскадное обновление связанных полей (Cascade Update Related Fields) (рис. 8.9). Нажмите кнопку ОК.
  13. Закройте окно Схема данных (Relationships).

Рис. 8.9. Диалоговое окно Изменение связей

Для выполнения каскадного обновления:

  1. Откройте таблицы «Сотрудники (копия)» и «Заказы (копия)» и разместите их на экране так, чтобы были видны обе таблицы (рис 8.10).
  2. Отсортируйте таблицу «Заказы (копия)» по столбцу «Сотрудник». Для этого выделите данный столбец, щелкнув левой кнопкой мыши по его заголовку, и нажмите кнопку Сортировка по возрастанию (Sort Ascending) на панели инструментов.
  3. Измените значение в столбце «Код сотрудника» первой записи таблицы «Сотрудники (копия)», введя число 10, и нажмите клавишу , чтобы перейти к следующей записи. Изменение кода сразу же будет отображено в столбце «Сотрудник» таблицы «Заказы (копия)».

Рис. 8.10. Каскадное обновление записей

Изменение данных с помощью модифицирующих запросов в MS Access XP. Создание запросов на изменение

Страницы работы

Содержание работы

ЗАДАНИЕ 4. ИЗМЕНЕНИЕ ДАННЫХ С ПОМОЩЬЮ МОДИФИЦИРУЮЩИХ ЗАПРОСОВ В MS ACCESS XP. СОЗДАНИЕ ЗАПРОСОВ НА ИЗМЕНЕНИЕ.. 2

1. СОЗДАНИЕ ЗАПРОСОВ НА ОБНОВЛЕНИЕ ДЛЯ ИЗМЕНЕНИЯ ЗНАЧЕНИЙ.. 2

2. ЗАПРОС НА СОЗДАНИЕ ТАБЛИЦЫ.. 4

3. ЗАПРОСЫ УДАЛЕНИЯ.. 6

4. ПОИСК В ТАБЛИЦАХ ЗАПИСЕЙ С ПОМОЩЬЮ МАСТЕРА ЗАПРОСОВ.. 8

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

4.2. Запрос на поиск повторяющихся записей. 12

4.3. Поиск в таблицах записей, не имеющих подчиненных. 14

5. ВОПРОСЫ ДЛЯ САМОПОДГОТОВКИ.. 16

6. ИТОГОВЫЕ ЗАДАНИЯ ПО РАЗДЕЛУ.. 16

ЗАДАНИЕ 4. ИЗМЕНЕНИЕ ДАННЫХ С ПОМОЩЬЮ МОДИФИЦИРУЮЩИХ ЗАПРОСОВ В MS ACCESS XP. СОЗДАНИЕ ЗАПРОСОВ НА ИЗМЕНЕНИЕ

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

Запросы на изменение могут быть использованы для выполнения следующих операций:

· Обновление информации в группе записей.

· Удаление записей из таблицы (или группы таблиц).

· Добавление записей из одной таблицы в другую.

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

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

· Сохраните в архиве таблицы, в которые вы намерены внести изменения.

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

· Внимательно просмотрите выбранные записи в режиме просмотра результирующей таблицы.

· Запустите запрос на изменение, используя кнопку «Запуск» на панели инструментов

· Проверьте внесенные изменения.

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

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

1. СОЗДАНИЕ ЗАПРОСОВ НА ОБНОВЛЕНИЕ ДЛЯ ИЗМЕНЕНИЯ ЗНАЧЕНИЙ

Рассмотрим действие запроса на изменение на примере изменения величины минимальной заработной платы в таблице «Справка». На момент написания данного пособия (начало 2003 года) величина минимальной заработной платы составляла 450 рублей. Предположим, что наши законодатели увеличили ее , до 650 рублей.

Замените 100 руб. на 650 во всех записях таблицы «Справка» в поле «MINX».

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

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

· Вновь вернитесь в режим Конструктора запросов

· Выделите команду Запрос Þ Обновление.

· В поле «Обновление» столбца «MINX» введите новое значение: просто напишите число 650

Обратите внимание, что, что если вы будете использовать в формулах имена полей, то имя поля должно быть заключено в квадратные скобки « [ ] »

· Выполните команду Запрос Þ Запуск или щелкните на кнопке выполнения запроса «Запуск» .

· Появится окно с сообщением о количестве заменяемых записей.

· Щелкните по кнопке «Да».

В результате выполнения запроса на обновление была выполнена операция изменения размера минимальной заработной платы со 450 до 650 рублей.

ВНИМАНИЕ! К сожалению, ваша радость по увеличению минимального уровня зарплаты оказалась напрасной.

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

Вы не заметили, что это был только проект закона.

· Поэтому вновь верните размер поля «MINX»таблицы «Справка» прежнее значение 450 рублей. Не забудьте проверить саму таблицу «Справка».

· Сохраните запрос под именем «Запрос на обновление MINX».

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

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

2. ЗАПРОС НА СОЗДАНИЕ ТАБЛИЦЫ

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

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

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

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

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

· Откройте вкладку Запросыдиалогового окна Базы данных.

· Щелкните на кнопке «Создание запроса в режиме конструктора».

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

· Выберите из таблиц необходимые поля и перенесите их в бланк запроса. Напоминаем, какие поля использовались при расчете заработной платы в предыдущем разделе курса (Задание 3. п. 5):

«KOEFF», «MINX», «DOPL_R» и «RKF» должны быть взяты из таблицы «Справка», а величины «Доплата»), «Вредность», «Классность», «Стаж» и «Доля ставки», должны быть взяты из таблицы «Сотрудники». Кроме того, в таблицу необходимо включить поля «Подразделение», «Фамилия» и «Имя» и «Должность».

При необходимости, задайте в соответствующих полях условия отбора записей

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

2. Создание запроса с помощью Конструктора

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

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

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

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

3. Запрос на выборку с условием отбора

Сделайте запрос на выборку с применением условия отбора на основе таблицы Заказы на работы и дайте ему имя Выполняемые заказы. В структуру запроса включите следующие поля: Номер заказа, Код клиента, Код сотрудника, Дата завершения. В столбце Дата завершения и в строке Условие отбора введите условие, по которому будут отбираться записи, дата исполнения которых назначена после 30.09.03 Условие отбора будет иметь вид >#30.09.03#.

Сделайте запрос на выборку с применением условия отбора на основе таблицы Сотрудники и дайте ему имя Выбранные сотрудники. Структура запроса такая же, как и в таблице. Условие отбора Like “Б*” сформируйте при помощи построителя выражения. Для этого в поле Фамилия на строке Условие отбора щелкните правой кнопкой мыши для вывода контекстного меню и выберите пункт Построить. В открывшемся диалоговом окне Построитель выражений используйте кнопку Like и с клавиатуры введите “Б*”.Закройте окно и сохраните запрос.

4. Запрос на выборку с вычисляемыми полями

Создайте запрос на выборку с вычисляемым полем на основе таблицы

Необходимые ресурсы и дайте ему имя Сумма исполнителям. В структуру запроса включите следующие поля: Код заказа, Фамилия сотрудника, Часы, Ставка. Следующее поле сделайте вычисляемым. Установите указатель в это поле и нажмите SHIFT+F2, откроется диалоговое окно Область ввода. Введите следующее выражение: Стоимость:[Часы]*[Ставка].

Получите результирующую таблицу запроса и сохраните его.

5. Запрос на выборку с вычислением итоговых данных

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

Сделайте итоговый запрос на основе запроса Сумма исполнителям и дайте ему имя Общая сумма исполнителям. Структура этого запроса полностью соответствует исходному запросу. Дополните этот запрос итоговыми вычислениями. Предварительно добавьте в структуру запроса строку Групповая операция (клавиша суммы на панели инструментов). В поле Фамилия сотрудника установите операцию Группировка, а в поля Код заказа, Часы, Ставка и Стоимость установите функцию Sum. Просмотрите результирующую таблицу клавишей Запуск (клавиша в виде восклицательного знака). В данной таблице первый столбец выдает информацию, которая не несет смысловой нагрузки для нас. Поэтому, вернитесь в структуру запроса и отмените вывод данного поля на экран. А также отмените вывод поля Ставка. Получите итоговую таблицу запроса. Сохраните ее под именем Общая сумма исполнителям.

Создание итогового запроса на основе таблицы.

Сделайте итоговый запрос на основе таблицы Необходимое оборудование и дайте ему имя Сумма оборудования на заказ. Структура запроса: Код заказа,

Название оборудования, Количество, Цена. Введите новое вычисляемое поле Стоимость оборудования, результат которого есть произведение Количество на Цену. Установите групповые операции: Группировка в поля Название оборудования и Цена, Sum — во все остальные. Просмотрите результирующую таблицу кнопкой Запуск(!), затем вернитесь в режим конструктора и отмените вывод на экран поля Код заказа. Запишите результирующую таблицу запроса.

Запрос на изменения

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

Сделайте запрос на изменение с созданием новой таблицы. Исходными данными для этого запроса будет запрос, который вы создадите на основе таблицы Оборудование с этой же самой структурой. В условие отбора по полю Цена введите >10. Находясь в режиме конструктора, выберите режим создания таблицы.

Дайте имя таблице — Цена оборудования >10. Сохраните запрос под именем Цена оборудования. В ярлыке Запросы появится новый значок запроса, перед которым будет стоять восклицательный знак. Выделите этот запрос и нажмите кнопку Открыть. После этого во вкладке Таблицы создастся новая таблица. Перейдите во вкладку Таблицы, выделите вновь созданную таблицу и откройте и просмотрите ее.

Читать еще:  Как сделать главную и подчиненную таблицу в access?

Запрос с параметром

Сделайте запрос с параметром на основе таблицы Необходимое оборудование. Структура запроса такая же, как и в этой таблице. Введите параметр отбора [Код оборудования] в столбце Код оборудования и в строке Условие отбора. Далее выберите пункт меню Создание- Запросы. Откроется диалоговое окно Конструктор Запроса. Ведите в поле Параметр номер заказа дайте ему тип Целый. Сохраните запрос под именем Параметр и запустите его, введите номер заказа. В данный запрос будут отобраны записи принадлежащие к этому коду заказа.

Работа с отчетами

Отчет позволяет выбрать из базы данных требуемую пользователем информацию и оформить ее в виде документов, которые можно просмотреть и распечатать. Отчет, как и форма, может быть создан следующими способами: Автоматическим, с помощью Мастера, с помощью Конструктора.

1. Автоматическое создание отчета

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

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

2. Создание отчета с помощью Мастера отчетов

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

Создайте отчет на основе таблицы Клиенты и сохраните его под именем Список клиентов. Для этого находясь во вкладке Отчеты выберите режим Создание отчета с помощью мастера. В открывшемся диалоговом окне Отчетов в списке поля Таблицы и запросы выберите таблицу Клиенты. В списке Доступные поля выделите все поля и переместите их в список Выбранные поля и нажмите кнопку Далее. В следующем окне в списке Добавить уровни группировки выберите поле Название и стрелкой > переместите в правую часть окна на лист и нажмите кнопку Далее. В следующем окне выберите порядок сортировки По возрастанию и нажмите кнопку Далее. В следующем окне выберите вид макета для отчета По левому краю 1 и нажмите кнопку Далее. Выберите требуемый стиль Деловой и нажмите Далее. Введите название отчета Список клиентов и нажмите кнопку Готово. Просмотрите отчет и закройте его окно.

3. Создание отчета при помощи Конструктора

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

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

Кроме этих разделов отчет должен еще содержать Заголовок и Примечание. Для их вывода в отчете используйте команды Отчет- Заголовок.

Перетащите поля Фамилия сотрудника и Стоимость на отчет в область данных из окна списка. Удалите надписи для этих полей. Разместите эти два поля напротив друг друга в строке. Уменьшите область данных так, чтобы в ней была видна только эта строка с полями. В область верхнего колонтитула поместите две надписи, используя кнопку Надпись на Панели элементов управления.

Надписи поместите так, чтобы они находились над полями в области данных.

В левую надпись введите текст Фамилия, а в правую — Сумма на руки. В область заголовка, используя тоже надпись, введите название Ведомость начисления заработной платы. А область примечаний используйте для вычисления итоговых данных. Для этого в область Примечаний поместите элемент управления Поле. Измените надпись в подписи на Общая сумма, а в пустое поле введите формулу =Sum([Sum-Стоимость]). Просмотрите отчет кнопкой Предварительный просмотр. Отчет должен представлять собой список сотрудников с причитающимися каждому определенной суммы денег и в конце отчета должна быть выведена общая сумма. Задайте вашему отчету цвет, шрифт, введите рисунок. Сохраните отчет под именем Ведомость.

Запросы на изменение с помощью инструкций SQL

Запросы на изменение записей в таблицах с помощью SQL

Запросы на изменение используются для добавления (INSERT INTO), удаления (DELETE) и обновления (UPDATE) записей в таблицах.

Команда INSERT INTO

Команда INSERT INTO может быть использована для добавления одной или нескольких записей в конец таблицы.

Синтаксис команды INSERT INTO имеет следующий вид:
INSERT INTO Название_Таблицы [(Название_Полей)] VALUES (Значения_данных);

Создадим запрос на изменение записи в таблице «Группы» базы данных sql_training_st.mdb.

Например, поместим в таблицу «Группы» запись, содержащую данные (1, БФ-16а, 1, 1) в соответствующие столбцы (КодГруппы, Название, Курс, Семестр).

Для этого запрос в формате:
INSERT INTO Группы (КодГруппы, Название, Курс, Семестр) VALUES (1, БФ-16а, 1, 1);
введем на бланке запроса, выполнив команду «Конструктор запросов» на вкладке «Создание», в режиме «Режим SQL» из меню Вид.

Сохраняем запрос с именем «Добав_1_записи». В результате в «Области переходов» появится несвязанный объект — «Добав_1_записи» (Рис.1.).

После сохранения запроса необходимо выполнить этот запрос, щелкая на пиктограмме «Выполнить». В результате выполнения команды «Добав_1_записи» в пустой таблице появится первая запись (Рис. 2.)

Команда UPDATE

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

Синтаксис команды UPDATE имеет следующий вид:
UPDATE Название_Таблицы SET Название_Столбца = Новое_Значение WHERE Условие_Отбора;

В предложении SET указываются имена столбцов, данные в которых надо изменить. Оператор WHERE не является обязательным, но при его помощи можно указать только на те строки столбцов (таблиц), которые необходимо обновить.

Создадим запрос на изменение записи в таблице «Группы» базы данных sql_training_st.mdb.

Например, изменим уже существующую запись для первого ключевого поля id в столбце «Название» таблицы «Группы».

Запрос в формате:
UPDATE Группы SET Название =’БФ-16б’ WHERE ID=1;
создаем на бланке запроса, выполнив команду «Конструктор запросов» на вкладке «Создание», в режиме «Режим SQL» из меню Вид.

Сохраняем запрос с именем «Изменение_записи_1». В результате в «Области переходов» появится объект — «Изменение_записи_1» (Рис. 3.).

После сохранения запроса необходимо выполнить этот запрос, щелкая на пиктограмме «Выполнить». В результате выполнения команды «Изменение_записи_1» появится окно диалога, в котором необходимо ввести значение параметра ID=1 и нажать кнопку ОК. После этих действий в таблице «Группы» изменится запись в поле «Название» с БФ-16а на БФ-16б (Рис. 4.).

Команда DELETE

Команда DELETE предназначена для удаления записей из таблицы.

Формат запроса на удаление записей:
DELETE FROM Название_Таблицы WHERE Условие_Отбора;

Создадим запрос на изменение записи в таблице «Группы» базы данных sql_training_st.mdb.

Например, удалим существующую запись для первого ключевого поля id во всех столбцах (полях) таблицы «Группы».

Для этого запрос в формате:
DELETE FROM Группы WHERE ID=1;
создаем на бланке запроса, выполнив команду «Конструктор запросов» на вкладке «Создание», в режиме «Режим SQL» из меню Вид.

Сохраняем запрос с именем «Удаление_записи_1». В результате в «Области переходов» появится объект — «Удаление_записи_1» (Рис. 5.).

После сохранения запроса необходимо выполнить этот запрос, щелкая на пиктограмме «Выполнить». В результате выполнения команды «Удаление_записи_1» появится окно диалога, в котором необходимо ввести значение параметра ID=1 и нажать кнопку ОК. После этих действий откроется окно диалога «Подтвердите удаление записей». После подтверждения в таблице «Группы» будет удалены данные во всех полях, т.е. удалена запись (Рис. 6.).

Следует отметить, что для удаления данных в конкретных полях таблицы целесообразно воспользоваться командой UPDATE и заменить значения в требуемых полях на Null. Если необходимо удалить таблицу в целом, то следует использовать оператор DROP TABLE (синтаксис оператора: DROP TABLE Название_Таблицы;).

Восстановим первую запись в таблице «Группы», выполнив команду «Добав_1_записи», в результате восстановим первую запись (Рис. 7.).

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