Pourquoi ne puis-je pas utiliser “CompactDatabase” dans DAO.DBEngine.36 à l'aide de VBscript?

Je suis en train de faire un petit script VBScript qui compresse un MS Access 2007 de base de données de fichier.

Le code que j'ai est:

Set acc2007 = CreateObject("DAO.DBEngine.36")
acc2007.CompactDatabase "C:\test.accdb", "C:\test2.accdb", Nothing, Nothing, ";pwd=test"
Set acc2007 = Nothing

J'obtiens cette erreur quand je lance les trois lignes "cscript test.vbs" à partir d'un 32 bits cmd.exe:

C:\test.vbs(10, 1) DAO.DbEngine: format de données non reconnu 'C:\test.accdb'.

La base de données a été créée avec MS Access 2007, quand je l'ouvre en double-cliquant sur l'icône I tapez le mot de passe "test" et puis je l'ouvre normalement. Il dit: "Access 2007" dans le haut de sorte qu'il a le format correct.

Voici la documentation de la fonction, je suis en train d'utiliser: http://msdn.microsoft.com/en-us/library/bb220986.aspx

L'objet DAO.DBEngine.36 est créé avec succès depuis je ne reçois pas toutes les erreurs sur la ligne. Quel est le problème?

C'est pourquoi vous devez vérifier dans le code pour le .ldb fichier (fichier de verrouillage) première et continuer uniquement si il n'est pas trouvé.
Je peux vivre heureux avec cela. =) A bientôt.

OriginalL'auteur Mike | 2010-06-28