#sql #vba #where-clause #ado
Вопрос:
У меня есть опыт работы с VBA для Excel, и недавно я начал использовать его для доступа для создания функций архивирования, которые будут перемещать записи из одной базы данных в отдельную.
Ключевым компонентом этого является идентификация записей в одном наборе записей (локальном), которых нет в другом (удаленном), перед выполнением комбинации вставки / удаления для эффективного перемещения записей из одного местоположения в другое.
- Я могу открыть два соединения — одно локальное и одно удаленное — и создавать наборы записей на основе данных в каждой базе данных.
- Что я не могу сделать, так это сравнить два набора записей, чтобы подтвердить, где идентификаторы в локальном наборе записей отсутствуют в идентификаторах в удаленном наборе записей.
- На мой взгляд, пункт » ГДЕ » должен быть примерно таким:
Выберите * Из [tblName], Где localRecordSet.ID lt;gt; remoteRecordSet.ID
- Но, будучи незнакомым с наборами записей ADO, я не верю, что могу ссылаться на идентификатор в таком наборе записей.
- Я знаю, что могу создать цикл в VBA и циклически просматривать каждую запись в наборе записей, но ожидаю более простого способа сделать это непосредственно в предложении SQL WHERE
Кто-нибудь может указать мне правильное направление, пожалуйста? Большое спасибо, Марк