Задача сравнения баз данных Microsoft SQL Server является достаточно актуальной. Предположим Вы разрабатываете adp проект на Access, используя SQL Server на своем компьютере, и Вам надо перенести базу данных на другой компьютер. Первый раз это легко сделать (используя backup файла), но что делать, если кто-то уже работает с базой данных. Например, вводит данные в базу данных, тогда этот вариант "отпадает" Выход только один. Надо провести сравнение баз данных и добавить отсутствующие таблицы, поля, индексы в базу данных. Конечно есть много серьезных разработок на эту тему. Например, у Microsoft SQL Server Enterprise Manager есть функции репликации, т.е. путем создания публикаций и подписчиков синхронизовать базы данных. Но может быть и так, что Вы не будете иметь полный доступ к удаленному серверу и такой вариант тоже будет "отброшен" (этот вариант добавляет поля репликации в базу данных). Неплохой вариант - это создание sql скрипта и его выполнение на SQL сервере для конкретной базы. Но и у такого способа есть недостатки - это отдельная программа, потребует дополнительного изучения, финансовых затрат, и самое главное, что ее невозможно вставить в VBA программу (кроме sql скрипта). Что делать, если нужно добавить в базу данных всего несколько таблиц, полей и индексов. Попробуем решить эту задачу средствами VBA. Ниже дается описание УПРОЩЕННОГО класса на VBA, который создает необходимые таблицы и поля. Адрес загрузки: CompareSQL.zip И так и Вы можете просто прочитать этот материал и положить "в корзину" или попытаться понять проблему более детально и найти более полное решение. Для того, чтобы было интересно выполнять задачу, она разделена на пункты и оплачивается через webmoney.ru. И так успехов Вам в этом решении. |