Типовые ошибки и проблемы, возникающие при выполнении запросов на изменение

Во время выполнения запроса на изменение MS Access различает четыре категории ошибок:

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

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

3. Заблокированные записи. Ошибки этой категории возникают, когда при выполнении запроса на удаление или на обновление используется таблица, к которой имеют доступ другие пользователи. MS Access не может произвести обновление записей, которые в это время обновляются другими пользователями. Следует подождать некоторое время и попытаться снова выполнить обновление или удаление в тот момент, когда данные записи больше никто не использует.

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

 

ПРАКТИЧЕСКОЕ ЗАДАНИЕ НА ПЗ-4

 

ВНИМАНИЕ! Если в названии файла/папки присутствует Фамилия, писать
свою фамилию.

В папке УПз-61 Фамилия создать файл отчета по практическому занятию № 1 (например: УПз-61 ПЗ-4 Иванов.doc ).

Скопировать практическое задание в файл отчета.

 

1. Открыть свою базу данных Кадры Фамилия (файл MS Access Кадры Фамилия.mdb созданный на предыдущих ПЗ), открыть список запросов.

(Снимок экрана – База данных – Запросы)

 

2. Создать с помощью конструктора запросов Запрос три поля в одном(по материалу Вопроса 1 практического занятия, Пример 1).

(Снимок экрана – Запрос три поля в одном– Конструктор)

 

(Снимок экрана – Запрос три поля в одном– Результат выполнения запроса)

 

3. Создать с помощью конструктора запросов Запрос Всего начислено, который вычисляет общую сумму начислений для всех сотрудников (по материалу Вопроса 1 практического занятия, Пример 2).

(Снимок экрана – Запрос Всего начислено– Построитель выражений для поля ВсегоНачислено)

 

(Снимок экрана – Запрос Всего начислено– Конструктор)

 

(Снимок экрана – Запрос Всего начислено– Результат выполнения запроса)

 

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

В запросе должны быть поля:

Фамилия;

Оклад;

Почасово;

Премия;

ОплатаДоговор;

и вычислимые поля (создавать с помощью Построителя выражений, использовать уже созданные вычислимые поля данного запроса):

ВсегоНачислено (Оклад + Премия + ОплатаДоговор + Почасово);

УдержаноПенсионныйФонд (ВсегоНачислено*0,05);

УдержаноПодоходныйНалог (ВсегоНачислено*0,15);

ВсегоУдержано (УдержаноПенсионныйФонд + УдержаноПодоходныйНалог);

Выплачено (ВсегоНачислено - ВсегоУдержано).

(Снимок экрана – Запрос по зарплате– Построитель выражений для поля ВсегоНачислено)

(Снимок экрана – Запрос по зарплате– Построитель выражений для поля УдержаноПенсионныйФонд)

 

(Снимок экрана – Запрос по зарплате– Построитель выражений для поля УдержаноПодоходныйНалог)

(Снимок экрана – Запрос по зарплате– Построитель выражений для поля ВсегоУдержано)

(Снимок экрана – Запрос по зарплате– Построитель выражений для поля Выплачено)

 

(Снимок экрана – Запрос по зарплате– Конструктор)

 

(Снимок экрана – Запрос по зарплате– Результат выполнения запроса)

 

5. Создать с помощью конструктора запросов Запрос по отделу Бухгалтерия, который вычисляет общую сумму окладов всех сотрудников Бухгалтерии (по материалу Вопроса 1 практического занятия, Пример 3).

(Снимок экрана – Запрос по отделу Бухгалтерия– Построитель выражений для поля Сумма)

 

(Снимок экрана – Запрос по отделу Бухгалтерия– Конструктор)

 

(Снимок экрана – Запрос по отделу Бухгалтерия– Результат выполнения запроса)

 

6. Создать с помощью конструктора запросов Запрос по отделам, который вычисляет общую сумму окладов всех сотрудников отдела. Отдел выбирается через параметр (по материалу Вопроса 1 практического занятия, Пример 4).

(Снимок экрана – Запрос по отделам– Параметры запроса)

 

(Снимок экрана – Запрос по отделам– Конструктор)

 

(Снимок экрана – Запрос по отделам– Результат выполнения запроса)

 

7. Создать для таблицы ДолжностикопиюДолжности копия.

(Снимок экрана – Копирование таблицы Должности)

 

(Снимок экрана – Вставка таблицы)

 

8. Самостоятельно создать для таблицы Должности копиязапрос на обновление с параметром Запрос на изменение окладов. Запрос должен запрашивать в качестве параметра коэффициент для изменения окладов и изменять оклады для всех сотрудников в таблице Должности копия (Оклад*Коэффициент).

Для создания запроса смотрите материал вопросов: Использование параметров запроса (Теоретический вопрос 1 стр. 6), Обновление группы записей (Теоретический вопрос 2 стр. 10).

В запросе должны быть поля: Отдел, Должность, Оклад.

Установить тип данных для параметра – Одинарное с плавающей точкой.

(Снимок экрана – Исходные данные таблицы Должности копия – в режиме Таблица)

 

(Снимок экрана – Запрос на изменение окладов– Конструктор)

 

(Снимок экрана – Запрос на изменение окладов– Параметры запроса)

 

Запустите запрос на выполнение.

Введите такое значение коэффициента, чтобы оклады были увеличены на 50%.

(Снимок экрана – Запрос на изменение окладов– Запрос параметра)

 

(Снимок экрана – Запрос на изменение окладов– Результат выполнения запроса)

 

(Снимок экрана – Новые данные таблицы Должности копия)

 

9. Открыть в окне База данных список запросов.

(Снимок экрана – База данных – Запросы)

 

 

Сохранить рабочие документы (файлы).

Скопировать рабочие файлы на USB-накопитель.

Представить преподавателю работу (файлы) для проверки или выслать на электронную почту vladimir_zvi@mail.ru