В этом уроке мы создали множество запросов на выборку, в основном из представления конструктора. Но в Access мы можем использовать некоторые специальные мастера запросов для создания пары конкретных запросов select. Первым из них является Мастер поиска дубликатов запросов. Мастер поиска дубликатов запросов создаст запрос, который найдет записи с дублирующимися значениями полей в одной таблице или запросе.
Как мы уже говорили, реляционные базы данных предназначены для того, чтобы избежать хранения дублирующейся информации. Но, несмотря на такой дизайн, иногда пользователи случайно вводят дублирующую информацию.
пример
В таблице клиента один и тот же клиент может быть случайно добавлен дважды. В таких случаях у клиента будет один и тот же адрес, но разные идентификаторы клиента, что может создать проблемы с отчетностью. В этой ситуации вы можете использовать мастер запросов дубликатов, чтобы быстро найти возможные дубликаты записей .
Теперь давайте откроем нашу базу данных Access, которая содержит таблицу tblAuthers, перейдем на вкладку « Создать » и в группе запросов выберите мастер запросов .
Если вы видите следующий скриншот, у вас есть четыре разных мастера на выбор. Выберите мастер поиска дубликатов и нажмите « ОК» .
На первом экране мастера поиска дубликатов будет задан вопрос, по какой таблице или по какому запросу вы хотите найти возможные дубликаты. Допустим, мы хотим проверить таблицу нашего автора, чтобы убедиться, что один и тот же автор не был случайно введен дважды. Итак, выберите tblAuthors и нажмите Далее .
-
Второй экран мастера спросит, какие поля могут содержать дублирующую информацию.
-
Как правило, вы не будете использовать свое поле первичного ключа, потому что, опять же, когда вы определяете поле в Access в качестве первичного ключа, Access не позволяет вводить дубликаты.
-
Мы рассмотрим любое другое поле или комбинацию полей.
Второй экран мастера спросит, какие поля могут содержать дублирующую информацию.
Как правило, вы не будете использовать свое поле первичного ключа, потому что, опять же, когда вы определяете поле в Access в качестве первичного ключа, Access не позволяет вводить дубликаты.
Мы рассмотрим любое другое поле или комбинацию полей.
Мы можем искать по фамилии или имени и фамилии, или вы можете искать по их почтовому адресу, или, если точнее, по номеру телефона или дню рождения.
Теперь давайте выполним поиск по имени, фамилии и дню рождения и нажмите Далее .
На следующем экране в этом мастере будут отображаться поля, которые мы хотим отобразить в нашем запросе. Для этого нажмите двойную стрелку, все поля переместятся в область дополнительных полей запроса и будут добавлены в результаты нашего запроса.
Давайте теперь нажмите кнопку Далее . Это приведет нас к последнему экрану в этом мастере запросов.
На следующем экране введите, как вы хотите назвать свой запрос.
По умолчанию он назовет дубликат для плюс для любого имени объекта, который вы запрашиваете . В этом случае, tblAuthors , но вы также можете дать ему любое другое имя и нажать « Готово» .
Здесь Access обнаружил возможный дубликат, и это будет автор Хосе Калин, у которого тот же день рождения, тот же адрес, тот же номер телефона, но разные AuthorID.
Этот был определенно введен дважды случайно. Теперь мы добавили все поля в наш запрос, мы могли бы просто пойти и удалить запись. Мы также должны убедиться, что у нас нет связанных записей в другой таблице.
Выберите любую запись и выберите «Удалить», как в следующем диалоговом окне.
Access выдает подсказку «Вы собираетесь удалить одну запись». Нажмите «Да», если хотите продолжить.
Если вы хотите увидеть, как этот мастер создал этот запрос, перейдите в представление конструктора и посмотрите, что все было добавлено в этот запрос.
Как вы можете видеть на скриншоте выше, у нас есть поля и некоторые конкретные критерии под полем имени.
Вот как этот мастер ищет эту дублирующую информацию. На сегодняшний день это самый простой способ найти дубликаты.