2009-09-29 11 views
1

J'ai un fichier de base de données Access 2003 hérité qui doit rester dans ce format pour préserver ses menus et ses barres d'outils. J'ai récemment migré vers Access 2007 dans mon environnement de génération et je vais déployer le programme Access 2003 compilé avec le runtime Access 2007. Dans Access 2003, je pourrais scripter le processus de création d'un MDE avec Access Developer Extensions (WZADE.mde) en utilisant la ligne de commande et un fichier .xml de préférences de construction (sans créer de paquet d'installation). Les extensions développeur Access 2007 ne semblent pas offrir une option similaire. Je peux "empaqueter une solution", mais il crée un accdr et l'enterre dans un programme d'installation de CD. J'ai essayé des options programmatiques comme Docmd.RunCommand acMakeMDEFILe et Syscmd (603, mdbpath, mdepath) mais elles ne fonctionnent plus dans Access 2007. Bien sûr, je peux créer manuellement un MDE en utilisant Outils de base de données> Créer MDE, mais ce n'est pas scriptable autant que je peux dire.Comment créer un MDE Access 2003 par programme ou par ligne de commande dans Access 2007?

Répondre

0

Ceci est probablement pas exactement la réponse que vous cherchez, mais pourquoi ne pas garder Access 2003 + Developer Extensions Installés côte à côte avec Access 2007 et il suffit d'utiliser 2003 script pour le processus de mde?

0

C'est pas non plus ce que vous cherchez, mais pourquoi ne pas utiliser AutoHotKey pour faire les étapes manuelles que vous avez mentionnés, mais par une touche de raccourci?

(Je sais que cela ressemble à un hack, mais il devrait bien fonctionner quand même.)

1

Essayez ceci:

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 

Here est un lien (avec des fonctionnalités plus en situation irrégulière).

+0

Vous devez utiliser SysCmd 603, pas 602. 602 est utilisé pour compacter une base de données. –

Questions connexes