подсчитывать и удалять дубликаты доступа vba

Вот некоторый код, который я должен удалить повторяющиеся вхождения catid и recid в таблице tblcat1_rec, оставив только 1 запись:

mysql = "DELETE FROM tblcat1_rec "
mysql = mysql & " WHERE ID <> (SELECT Min(ID) AS MinOfID FROM tblcat1_rec AS Dupe "
mysql = mysql & " WHERE (Dupe.catid = tblcat1_rec.catid) "
mysql = mysql & " AND (Dupe.recid = tblcat1_rec.recid)); "
DoCmd.RunSQL mysql

Я хотел бы подсчитать общее количество обнаруженных дубликатов, которые должны быть помещены в столбец «TL» оставшейся записи. Что также означало бы значение 1 для записей, которые уже уникальны.


person Mike    schedule 23.08.2010    source источник


Ответы (1)


Я думаю, вам придется разбить это на две части. Сначала укажите количество всех записей для каждого catid и recid, а затем снимите 1. После этого вы можете запустить оператор удаления SQL, который у вас есть здесь.

person Kevin Ross    schedule 24.08.2010
comment
Может быть хорошей идеей обернуть все это в транзакцию, чтобы убедиться, что вы также не получите противоречивые результаты. - person David-W-Fenton; 24.08.2010