Как мне создать Access 2003 MDE программно или с помощью командной строки в Access 2007?

У меня есть устаревший файл базы данных Access 2003, который должен оставаться в этом формате, чтобы сохранить его меню и панели инструментов. Я недавно перешел на Access 2007 в своей среде сборки и буду развертывать скомпилированную программу Access 2003 со средой выполнения Access 2007. В Access 2003 я мог создать сценарий процесса создания MDE с помощью Access Developer Extensions (WZADE.mde), используя командную строку и файл .xml настроек сборки (без создания установочного пакета). Расширения для разработчиков Access 2007, похоже, не предлагают подобного варианта. Я могу «упаковать решение», но он создает accdr и закапывает его в установщик с компакт-диска. Я пробовал программные параметры, такие как Docmd.RunCommand acMakeMDEFILe и Syscmd (603, mdbpath, mdepath), но они больше не работают в Access 2007. Конечно, я могу вручную создать MDE, используя Инструменты базы данных> Создать MDE, но это не скрипт. насколько я могу судить.


person Ned Ryerson    schedule 29.09.2009    source источник


Ответы (3)


Попробуй это:

Dim objAccess As Object
'Create the Access Automation object
Set objAccess = CreateObject("Access.Application")
'Now call the undocumented function...
objAccess.SysCmd 602, cstr(strPathSourceMdb), cstr(strPathDestinationMdb)
Set objAccess = Nothing

Вот ссылка (с другими недокументированными функциями).

person Praesagus    schedule 01.04.2011
comment
Вам нужно использовать SysCmd 603, а не 602. 602 используется для сжатия базы данных. - person Christian d'Heureuse; 25.04.2015

Вероятно, это не совсем тот ответ, который вы ищете, но почему бы не установить Access 2003 + Developer Extensions вместе с Access 2007 и просто использовать 2003 для создания сценария процесса mde?

person Tim Lentine    schedule 08.10.2009

Это тоже не то, что вы ищете, но почему бы не использовать AutoHotKey для выполнения упомянутых вами действий вручную, но с помощью HotKey?

(Я знаю, что это звучит как взлом, но, тем не менее, он должен работать хорошо.)

person Thorsten    schedule 08.10.2009