у меня есть процедура VBA (за формой), которая выполняет следующие действия; -Access VBA - обнаружить дублированные записи
- импортирует данные из файла XML в ч пустой временную таблицу (с одним ключевым полем называется ID)
- создает таблицу на основе запроса из временной таблицы
- добавляет данные в таблицу резервного копирования с помощью запроса дописывания (резервная таблица имеет такой же формат таблицы, как временную таблицу, то есть ключевое поле называется ID)
- удаляет все из temp ready для следующего запуска
После импорта данных из XML я хочу уметь записывать сценарии, в которых один и тот же файл пытается дважды импортироваться (т. где таблица temp содержит идентификаторы, которые также существуют в таблице резервного копирования), сообщите пользователю через msgbox, а затем закройте Sub.
Я бы подумал, что это будет возможно сделать с помощью обработки кода ошибки при попытке добавить, захватив ошибку о дублирующих ключах.
У меня есть запрос на добавление к резервной копии, и если я запустил этот запрос с помощью самого запроса, я получаю предупреждения и т. Д. О наличии дубликатов, с возможностью продолжить выполнение запроса или нет.
Однако, я делаю это в VBA через OpenQuery (и отключил предупреждения), и поэтому ничего не происходит? Кажется, я не вижу код ошибки.
Я попытался написать запрос на выбор, чтобы идентифицировать любые повторяющиеся идентификаторы, а затем каким-то образом определить, возвратил ли этот запрос какие-либо строки, но также не может заставить это работать, поскольку не может найти способ определить, возвращает ли запрос какие-либо строки или не.
Я неясно, как таблица вписывается в это.Вы все еще хотите создать таблицу, если в таблице temp есть строки, которые дублируются в таблице резервного копирования? – HansUp
Нет. Он должен обнаружить это и дать пользователю четкое сообщение о том, что дубликаты присутствуют и проверить входной файл. –