Легкое применение изменений в базе данных Access - PullRequest
0 голосов
/ 19 апреля 2010

У меня есть резервная копия действующей базы данных (копия базы данных Access в формате ACCDB), в которой я работал, добавил новые поля в существующие таблицы и совершенно новые таблицы.

Как мне получить эти изменения и быстро применить их в работающей базе данных?

В MS SQL Server я бы щелкнул правой кнопкой мыши> Таблица сценариев как> Изменить, сохранить запрос и выполнить его там, где я хочу, есть ли такой простой способ сделать это в базе данных Access?

подробности:
Это база данных ACCDB MS-Access, созданная в Access 2007, скопированная и отредактированная в Access 2007, в которой мне нужно получить несколько сценариев «изменения» для запуска в другой базе данных, чтобы в ней были все новые созданные столбцы и таблицы. на моем экземпляре.

Ответы [ 3 ]

0 голосов
/ 19 апреля 2010

Для новых таблиц , просто импортируйте их из одной базы данных в другую. В разделе «Внешние данные» на ленте выберите значок «Доступ» над «Импорт». Этот выбор запускает мастер импорта, который позволяет вам выбрать, какие объекты вы хотите импортировать. У вас будет выбор: импортировать только структуру таблицы или структуру и данные.

Remou прав, что вы можете использовать операторы DDL ALTER TABLE для добавления новых столбцов. Однако DDL может не поддерживать все функции, которые вы хотите использовать для новых столбцов. И если вы хотите добавить не только пустые столбцы, но также и любые данные из этих новых столбцов, вам, вероятно, потребуется выполнить операторы UPDATE, чтобы добавить их в новые столбцы.

Что касается "Сценария таблицы как", посмотрите, может ли Экспорт таблицы в SQL инструмент OmBelt для MS Access может делать то, что вы хотите.

Редактировать : У Аллена Брауна есть примеры операторов ALTER TABLE. См. CreateFieldDDL и следующий, CreateFieldDDL2.

0 голосов
/ 17 мая 2018

Существует продукт под названием DbWeigher , который может сравнивать схемы базы данных Access и синхронизировать их. Вы можете получить бесплатную пробную версию (30 дней). DbWeigher напишет скрипт всех различий в схемах и запишет его как DDL. Сценарий тщательный и включает в себя отношения, индексы, правила проверки, допустимую нулевую длину и т. Д.

Бесплатный инструмент того же разработчика, DBWConsole , позволит вам выполнить сценарий DDL для любой базы данных Access. Если бы вы написали свои собственные сценарии DDL, это был бы простой способ применить изменения к вашей действующей базе данных. Он даже обрабатывает некоторые DDL, которые я не знаю, как обрабатывать в VBA (так что это должно быть волшебно). DBWConsole включена, если вы загрузили пробную версию DBWeigher. Имейте в виду, что вы не можете вносить изменения в схему таблицы в базе данных общего доступа, если у кого-то есть открытая таблица.

DbWeigher создает скрипт всех различий между двумя файлами. Это может быть много, чтобы разобрать вручную, если вы просто хотите несколько изменений. Я создал парсер для файлов сценариев DbWeigher, чтобы их можно было отфильтровать по таблице, чтобы извлечь только те части, которые я хотел. Я связался с автором DbWeigher об этом, но так и не получил ответ. Можно с уверенностью сказать, что я не связан с этим разработчиком.

0 голосов
/ 19 апреля 2010

Вы можете запустить DDL в Access. Я думаю, что в этом случае проще всего запустить SQL с VBA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...