Расхождение в количестве записей - только изменение - сортировка - PullRequest
0 голосов
/ 11 ноября 2010

У меня есть база данных Access 2003 с запросом, который является левым внешним соединением таблицы с другим запросом. Если я не сортировал этот последний запрос, я получил 42 записи. Если я отсортировал окончательный запрос по двум объединенным полям, я получил 43 записи. Других изменений в запросе не было.

Чтобы проверить это, я взял запрос, скопировал его, применил сортировку без каких-либо других изменений, и количество записей увеличилось на единицу. Озадаченный, я скопировал результаты в Excel, отсортировал и сравнил строку за строкой. Я обнаружил, что одна запись была продублирована (все поля были в точности одинаковыми), где в исходной таблице и запросе фактически не было дублированных записей.

Я бы подумал, что это ошибка, и я знаю, что в Access есть несколько, но кто-нибудь слышал об этом раньше?

Ответы [ 2 ]

3 голосов
/ 11 ноября 2010

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

1 голос
/ 06 июня 2011

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

SELECT qry_Tasks_with_Names.*, Location.Location, WorkRequests.Element, WorkRequests.Site_ID
FROM ((WorkRequests LEFT JOIN Location ON WorkRequests.Site_ID=Location.LocationID) INNER JOIN qry_Tasks_with_Names_by_Individual ON WorkRequests.Work_Request_ID=qry_Tasks_with_Names_by_Individual.Work_Request_ID) INNER JOIN qry_Tasks_with_Names ON WorkRequests.Work_Request_ID=qry_Tasks_with_Names.Work_Request_ID
WHERE (WorkRequests.Site_ID=Forms!TaskList!comboFilter_by_Site Or Forms!TaskList!comboFilter_by_Site Is Null) And (qry_Tasks_with_Names.Assigned_to_User_ID=forms!taskList!comboFilter_by_Person Or forms!taskList!comboFilter_by_Person Is Null) And (qry_Tasks_with_Names.Assigned_to_Team_ID=forms!taskList!comboFilter_by_Team Or forms!taskList!comboFilter_by_Team Is Null) And qry_Tasks_with_Names.Assigned_to_User_ID>0
ORDER BY qry_Tasks_with_Names.SLA_Due;

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

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

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