Чтение онлайн

на главную - закладки

Жанры

Microsoft Access 2007

Днепров Александр Г.

Шрифт:

2. Теперь выберите пункт Повторяющиеся записи , а за тем нажмите кнопку ОК . Откроется окно Поиск повторяющихся записей (рис. 6.32).

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

3. Укажите таблицу Заказы и нажмите кнопку Далее .

4. Выберите поля Дата , Товар , Клиент (рис. 6.33) и нажмите кнопку Готово .

Рис. 6.33. Здесь
следует задать поля с повторяющимися значениями

Будет выведен список повторений по таблице Заказы (рис. 6.34).

Рис. 6.34. Результат поиска повторяющихся записей

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

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

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

1. Добавьте в таблицу временное поле Сохранить логического типа. Это поле будет хранить значение 1 , если запись требуется оставить, и значение 0 – если удалить.

2. Оставьте все записи с минимальным значением поля Номер . Щелкните правой кнопкой мыши на заголовке вкладки запроса. Выберите пункт контекстного меню Режим SQL .

3. Скопируйте содержимое листинга 6.16 в запрос.

...

Листинг 6.16.

Запрос на установку флага для последующего удаления дубликатов

UPDATE Заказы

SET Сохранить = 1

WHERE [Номер (ID)] IN

(SELECT Min([Номер (ID)]) FROM Заказы GROUP BY Заказы. Дата, Заказы.

Товар, Заказы. Клиент HAVING (((Count(Дата))>1) AND

((Count(Клиент))>1)))

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

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

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

6. Откройте таблицу Заказы (рис. 6.35).

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

Теперь осталось удалить повторяющиеся записи с неустановленным флажком.

1. Откройте мастер запросов, как было описано выше. Выберите пункт Повторяющиеся записи и нажмите кнопку ОК .

2. Добавьте поля Товар , Дата , Клиент и нажмите кнопку Далее .

3. Добавьте поле Сохранить (рис. 6.36) и нажмите кнопку Готово .

Рис. 6.36. Окно
поиска повторяющихся записей

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

5. В бланке запроса в строке Условие отбора для поля Сохранить введите 0.

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

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

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

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

...

Листинг 6.17.

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

DELETE Заказы. [Дата], Заказы. [Товар], Заказы. [Клиент],

Заказы. [Сохранить]

FROM Заказы

WHERE (((Заказы. [Дата]) In (SELECT [Дата] FROM [Заказы] As Tmp GROUP

BY [Дата],[Товар],[Клиент] HAVING Count(*)>1 And [Товар] =

[Заказы].[Товар] And [Клиент] = [Заказы].[Клиент])) AND

((Заказы. [Сохранить])=0));

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

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

9. Откройте таблицу Заказы и удалите поле Сохранить .

Таким образом, таблица Заказы приведена в исходное состояние, и все некорректные записи удалены.

Резюме

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

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

Глава 7 Создание и печать отчетов

Автоматическое создание отчета на основе данных таблицы или запроса

Создание отчета с использованием мастера

Экспорт отчетов Access

Создание снимков отчета и работа с ними

Режимы работы с отчетами

Форматирование элементов отчета

Панель элементов

Изменение свойств отчета и его элементов

Оформление внешнего вида отчета

Применение автоформата для отчета

Предварительный просмотр и печать отчета

Резюме

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

Поделиться:
Популярные книги

Мемуары

Понятовский Станислав
Тайны истории в романах, повестях и документах
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Мемуары

Глоссарий

Распопов Дмитрий Викторович
Проза:
проза прочее
5.00
рейтинг книги
Глоссарий

Бортнянский

Ковалев Константин Петрович
748. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Бортнянский

По осколкам твоего сердца

Джейн Анна
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
6.21
рейтинг книги
По осколкам твоего сердца

Я есть Закон! Том 2

Деев Денис
2. Я есть Закон!
Фантастика:
юмористическая фантастика
рпг
попаданцы
5.00
рейтинг книги
Я есть Закон! Том 2

Война

Валериев Игорь
7. Ермак
Фантастика:
боевая фантастика
альтернативная история
5.25
рейтинг книги
Война

Избранник Небес

Кадеш Алек
Фантастика:
ужасы и мистика
6.00
рейтинг книги
Избранник Небес

Библиотека XXI века

Лем Станислав
Фантастика:
социально-философская фантастика
научная фантастика
5.00
рейтинг книги
Библиотека XXI века

Первый контакт (сборник)

Лем Станислав
Фантастика:
научная фантастика
5.00
рейтинг книги
Первый контакт (сборник)

Как я строил магическую империю 3

Зубов Константин
3. Как я строил магическую империю
Фантастика:
попаданцы
постапокалипсис
аниме
фэнтези
5.00
рейтинг книги
Как я строил магическую империю 3

Третий. Том 5

INDIGO
5. Отпуск
Фантастика:
космическая фантастика
фантастика: прочее
5.67
рейтинг книги
Третий. Том 5

Я еще не князь. Книга XIV

Дрейк Сириус
14. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я еще не князь. Книга XIV

Сальто назад

Рогов Борис Григорьевич
2. Сальто мортале
Фантастика:
альтернативная история
5.00
рейтинг книги
Сальто назад

Почему не гаснут советские «звёзды»

Раззаков Федор Ибатович
Документальная литература:
биографии и мемуары
публицистика
4.00
рейтинг книги
Почему не гаснут советские «звёзды»