Днепров Александр Г. - Microsoft Access 2007 стр 31.

Шрифт
Фон

Создание запросов на добавление данных

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

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

1. Откройте базу данных Отдел продаж .

2. На вкладке Создание в группе Другие нажмите кнопку Конструктор запросов .

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

4. Дважды щелкните кнопкой мыши на полях, которые необходимо добавить в выборку. Выберите поля Код и Цена .

5. В бланке запроса в строке Поле в третьей колонке введите значение 1. Это будет заказанное количество товаров.

6. В бланке запроса в строке Поле в четвертой колонке введите значение 3. Это номер покупателя из таблицы Клиенты .

7. В бланке запроса в строке Поле в пятой колонке введите date(). Эта функция вернет текущую дату для поля Дата таблицы Заказы .

Результирующий бланк запроса на выборку показан на рис. 6.6.

Рис. 6.6. Результирующий бланк запроса на выборку

Текст запроса на выборку приведен в листинге 6.3.

...

8. Перейдите на вкладку Конструктор и выберите команду Выполнить (рис. 6.7).

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

Теперь преобразуйте запрос на выборку в запрос на добавление данных.

1. Щелкните правой кнопкой мыши на заголовке вкладки запроса. Нажмите кнопку Конструктор .

2. На вкладке Конструктор в группе Тип запроса выберите команду Добавление . Откроется окно Добавление (рис. 6.8).

Рис. 6.8. Окно Добавление

3. В списке имя таблицы выберите название результирующей таблицы – Заказы . Установите переключатель в положение в текущей базе данных . Нажмите кнопку ОК .

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

Результирующий бланк запроса на добавление показан на рис. 6.9.

Рис. 6.9. Результирующий бланк запроса на добавление

Текст запроса на добавление приведен в листинге 6.4.

...

5. Нажмите кнопку Выполнить . Откроется окно подтверждения операции добавления.

6. Нажмите кнопку Да .

7. Откройте таблицу Заказы .

Вы можете видеть, что в таблице Заказы появились шесть новых записей по количеству товаров в таблице Товары (рис. 6.10).

Рис. 6.10. Таблица Заказы после выполнения запроса на добавление записей

...

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

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

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

• поля, содержащие результаты вычислений, потому что их значения не хранятся в базе данных постоянно;

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

• поля-счетчики, потому что их значение изменяется только при добавлении записей в таблицу;

• поля в запросах на объединение, так как эти данные не хранятся в базе, а выбираются из указанных таблиц;

• поля в запросах на уникальные значения и запросах на уникальные записи – запросах, возвращающих неповторяющиеся значения или записи;

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

...

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

Создайте запрос на обновление данных в учебной базе Отдел продаж . Итак, имеется таблица с заказами, в которой указывается полная стоимость заказа. Пусть при заказе на сумму более 5000 руб. клиент получает скидку в 10 %. Сначала создайте запрос на выборку нужных записей из таблицы Заказы .

1. Откройте базу данных Отдел продаж .

2. На вкладке Создание в группе Другие нажмите кнопку Конструктор запросов .

3. В окне Добавление таблицы дважды щелкните кнопкой мыши на названии таблицы Заказы . Нажмите кнопку Закрыть .

4. Дважды щелкните кнопкой мыши на полях, которые необходимо добавить в выборку. Выберите поля Номер и Сумма .

5. В бланке запроса в строке Условие отбора для поля Сумма введите условие выборки [Заказы]![Сумма] > 5000.

Результирующий бланк запроса на выборку показан на рис. 6.11.

Рис. 6.11. Результирующий бланк запроса на выборку

Текст запроса на выборку приведен в листинге 6.5.

...

6. Перейдите на вкладку Конструктор и выберите команду Выполнить (рис. 6.12). Если результат выборки содержит только записи с суммой более 5000 руб., то запрос составлен верно.

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

7. Щелкните правой кнопкой мыши на заголовке вкладки запроса. Выберите команду Конструктор .

8. На вкладке Конструктор в группе Тип запроса выберите команду Обновление .

9. В бланке запроса в строке Обновление для поля Сумма введите формулу [Заказы]![Сумма]-[Заказы]![Сумма]*0.1. Теперь значение в поле Сумма для каждой записи, соответствующей условию выборки, будет уменьшено на 10 %.

Результирующий бланк запроса на обновление показан на рис. 6.13.

Рис. 6.13. Результирующий бланк запроса на обновление

Текст запроса на обновление приведен в листинге 6.6.

...

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3