У нас есть несколько списков участников на основе Excel для некоммерческой организации, и нам нужно объединить их в одну главную таблицу MS Access. Время от времени мы получаем обновленные копии списков участников на основе Excel, и мне нужно синхронизировать их с главной таблицей MS Access.
Я ищу оптимальный способ добиться этого. Поскольку я не большой поклонник Access VBA, я подумывал написать консольное приложение на C#, используя библиотеку FileHelpers Маркоса Мели для связи между Excel и Access. Есть ли у вас какие-либо рекомендации относительно хорошего подхода к созданию себя или чего-то готового, что можно было бы использовать для достижения этой цели?





Вы не сказали, насколько велики списки участников.
Если они не слишком массивны и вы не делаете ничего слишком сложного, то простое связывание файлов Excel с базой данных Access позволит вам заменить файлы Excel новыми (с такими же именами), а затем базу данных. будет использовать новые данные автоматически, и вам вообще не нужно обновлять программное обеспечение.
Я также думаю, что у некоммерческой организации не будет большого ИТ-бюджета, поэтому чем проще, тем лучше.
Даже если они масштабные и сложные, это все равно лучший способ начать, независимо от того, как вы выполняете слияние, которое обычно сводится к отработке навыков и методов работы с разнообразными базами данных.
Обычно в прошлом я импортировал файл Excel в промежуточную таблицу, а затем удалял дубликаты, а затем копировал полученный список в основную таблицу.
Возможно, вам придется отбраковать бывших участников из вашей главной таблицы, и в этом случае, возможно, будет проще удалить всех участников, которые пришли из членской организации, и перезагрузить весь список. Но затем вы должны записать, из какой организации они пришли.
Если вы используете Access MDB только в качестве хранилища данных, значит, вы используете не Access, а только Jet. Это делает вопрос совершенно другого рода. Я бы сказал, что сделать все это в Access намного проще, чем пытаться возиться с автоматизацией приложений два одновременно.