2016-03-22 1 views
1

Ich muss ca. 50. ACCDB-Dateien in MDB konvertieren. Ich weiß, dass es einen Weg gibt, es in Access selbst zu tun, aber ich möchte lieber nicht 50 Access-Datenbanken öffnen, um jeden manuell zu konvertieren.Konvertieren mehrerer .accdb-Dateien in .mdb mit PowerShell?

Ist dies in PowerShell möglich? Wäre es einfach genug, die Erweiterung umzubenennen, oder ist es komplizierter?

+0

Das Ändern der Dateierweiterung ist definitiv nicht genug. Sehen Sie, ob Sie die [DBEngine.CompactDatabase-Methode] (https://msdn.microsoft.com/en-us/library/bb220986 (v = office.12) .aspx) von PowerShell verwenden können. Und wenn Ihr ACCDB Funktionen enthält, die nicht im MDB-Format unterstützt werden, wird der Konvertierungsversuch wahrscheinlich fehlschlagen. – HansUp

Antwort

1

Würde nur die Erweiterung umbenennen, oder ist es komplizierter als das?

Es gibt definitiv mehr als das.

Der folgende Code scheint für mich gearbeitet zu haben. Es hat die Tabellen zumindest umgewandelt. Es gab ein Formular in der .accdb, das nicht in die .mdb kopiert wurde, also hat es vielleicht Eigenschaften, die im älteren Dateiformat nicht unterstützt werden (ref: Hans 'Kommentar zu der Frage).

$Access = New-Object -com Access.Application 
$Access.ConvertAccessProject(
     "C:\Users\Public\test\test.accdb", 
     "C:\Users\Public\test\test2000.mdb", 
     "acFileFormatAccess2000") 
$Access.Quit() 
+0

Ich habe das zur Arbeit, aber ich musste das '$' vor AcFileFormatAccess2000 heraus nehmen und ich setze es stattdessen in Anführungszeichen. – danglesauce19

+0

@ chrisdoubleu13 - Richtig, tut mir leid. Diese Codezeile war von einigen früheren Versuchen übriggeblieben. Ich habe meine Antwort aktualisiert. –

Verwandte Themen