Benutzer mit den meisten Antworten
Access 2007(accdb) Datenbank mit VB 6 komprimieren

Frage
-
Hallo,
ich suche VBcode mit dem ich, eine Access2007(accdb) Datenbank(mit.Passwort) mit VB6 komprimieren kann.
Ich habe zwar nen Code, der mir die Datenbank komprimiert, sie wird aber im alten Access Format abgelegt.
Hab jemand ne Idee ?
Ich finde immer nur Möglichkeiten wie man es mit .NET lösen kann.
Danke :-)- Verschoben Kay GizaMicrosoft employee Donnerstag, 10. Juni 2010 08:35 (aus:Visual Basic (ab Version 2002 / .NET))
Antworten
-
Hallo Philipp,
>> Über DAO kann man zwar CompactAndRepair aufrufen, aber nur für MDBs.
Da muss ich mir mal selbst widersprechen :-)
Microsoft Office Access database Engine 2007
Verweis auf "Microsoft Office 12.0 Access database Engine" setzen, das ist das "neue DAO".
Und dann kannst Du über DAO CompactDatabase aufrufen und das Pwd auch per Parameter übergeben.
Public Sub TestCompact()
Dim acc As New DAO.DBEngine
acc.CompactDatabase "C:\test.accdb", "C:\testdst.accdb", , , "pwd=..."
End Sub
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de- Als Antwort vorgeschlagen Thorsten DörflerModerator Montag, 26. Oktober 2009 21:05
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 30. Oktober 2009 17:52
Alle Antworten
-
Hallo Philipp B.
wenn Du (auf dem Rechner) Access 2007 in der Vollversion hast, ist es recht einfach.
Public Sub TestCompact()
Dim app As Access.Application
Set app = New Access.Application
app.CompactRepair "C:\test.accdb", "C:\testCompact.accdb", False
Set app = Nothing
End Sub
Nach erfolgreichem Compact löscht / verschiebt man die alte und benennt die neue auf den alten Namen um.
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de -
Hallo Olaf,
danke für die Antwort.
Auf meinem Rechner ist die Vollversion installiert. Die Komprimierung soll aber auf dem Server erfolgen. Dort ist nur die AccessRuntime installiert. Damit lassen sich ACCDE Datein öffnen.
Zum anderen kommt hinzu, dass die Datenbank mit einem Passwort geschützt ist. Wie kann es in die "app.CompactRepair "C:\test.accdb", "C:\testCompact.accdb", False" einbauen? Oder wo soll ich das Passwort eintragen?
Danke
-
Hallo Philipp,
habe ich mir gedacht, dann fällt der Weg schon mal weg.
Über DAO kann man zwar CompactAndRepair aufrufen, aber nur für MDBs.
ADOX kann kein Compact.
Einfachste Lösung:
Access RT per Shell mit Parameter /pwd und /compact aufrufen; und wenn das Programm nur komprimieren soll, reicht eine Verknüpfung aus
"C:\Programme\Microsoft Office\Office12\MSACCESS.EXE" "C:\test.accdb" /pwd DeinPasswort /compact
(extra mit der RT getestet, geht)
Siehe auch:
http://www.dbwiki.de/wiki.php?title=Access_Anf%E4nger:_Startparameter_f%FCr_Access
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de -
Hallo Philipp,
>> Über DAO kann man zwar CompactAndRepair aufrufen, aber nur für MDBs.
Da muss ich mir mal selbst widersprechen :-)
Microsoft Office Access database Engine 2007
Verweis auf "Microsoft Office 12.0 Access database Engine" setzen, das ist das "neue DAO".
Und dann kannst Du über DAO CompactDatabase aufrufen und das Pwd auch per Parameter übergeben.
Public Sub TestCompact()
Dim acc As New DAO.DBEngine
acc.CompactDatabase "C:\test.accdb", "C:\testdst.accdb", , , "pwd=..."
End Sub
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de- Als Antwort vorgeschlagen Thorsten DörflerModerator Montag, 26. Oktober 2009 21:05
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 30. Oktober 2009 17:52
-
Hallo Philipp,
Perfekt !!!
>> Über DAO kann man zwar CompactAndRepair aufrufen, aber nur für MDBs.
Da muss ich mir mal selbst widersprechen :-)
Microsoft Office Access database Engine 2007
Verweis auf "Microsoft Office 12.0 Access database Engine" setzen, das ist das "neue DAO".
Und dann kannst Du über DAO CompactDatabase aufrufen und das Pwd auch per Parameter übergeben.
Public Sub TestCompact()
Dim acc As New DAO.DBEngine
acc.CompactDatabase "C:\test.accdb", "C:\testdst.accdb", , , "pwd=..."
End Sub
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
Funzt !!!
Hast in dem Beispiel ein ";" vor pwd vergessen. Jetzt läuft es.
Suuuper, vielen dank !!! :-)