.accde-Datenbank per VBA erstellen

Das Erstellen einer .accde-Datenbank mit den Mitteln der Benutzeroberfläche von Access ist einfach. Was aber, wenn Sie diesen Vorgang automatisieren wollen – beispielsweise, weil Sie regelmäßig per Mausklick .accde-Datenbanken aus Ihrer Entwicklungsdatenbank erzeugen wollen, um diese zum Kunden weiterzugeben VBA sieht keinen dokumentierten Befehl für diesen Zweck vor. Glücklicherweise haben wir das Internet, und dort haben wir eine undokumentierte Funktion gefunden, mit der Sie genau die gewünschte Aufgabe erledigen können.

.mde– oder .accde-Datenbanken benötigt man vor allem, um den VBA-Quellcode vor den Augen des Benutzers zu verbergen. Immerhin steckt meist eine Menge Zeit in der Programmierung, sodass der Quellcode nicht kostenlos mit der Anwendung herausgegeben werden soll.

Wenn Sie regelmäßig solche Dateien erstellen, haben Sie sich vielleicht eine Prozedur dafür erstellt, mit der Sie von einer anderen Datenbankanwendung aus die notwendigen Schritte durchführen. Wir haben für unsere Zwecke eine kleine Funktion programmiert, die das Kompilieren übernimmt und dazu den Dateinamen der zu kompilierenden Datei sowie den der Zieldatei entgegennimmt:

Public Function ACCDEErstellen(strACCDB As String, _
         strACCDE As String) As Boolean
     Dim appAcc As Access.Application
     Set appAcc = CreateObject("Access.Application")
     appAcc.AutomationSecurity = msoAutomationSecurityLow
     appAcc.SysCmd 603, strACCDB, strACCDE
     If Not Len(Dir(strACCDE)) = 0 Then
         ACCDEErstellen = True
     End If
     Set appAcc = Nothing
End Function


Nur für Abonnenten

Ab hier wird’s wirklich spannend – der Rest ist exklusiv für Abonnenten.

Mit dem Abo von Access im Unternehmen bekommst du den kompletten Artikel – inklusive vollständigem Code, Beispieldatenbank und Schritt-für-Schritt-Erklärung.

So sparst du dir stundenlanges Herumprobieren, vermeidest teure Fehler in deiner Access-Anwendung und kannst Lösungen direkt in deinem Unternehmen einsetzen, statt nur darüber zu lesen.

Teste Access im Unternehmen jetzt 4 Wochen lang kostenlos: Voller Zugriff auf alle Artikel, Downloads und Beispieldatenbanken. Kein Risiko – wenn es für dich nicht passt, kündigst du einfach innerhalb der ersten vier Wochen.

Bereits Abonnent? Hier einloggen


Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →

2 Kommentare

  1. Kann es sein, dass diese Funktionalität in Access 2016 Pro nicht mehr existiert?
    Bei mir wird der Befehl „appAcc.SysCmd 603, strACCDB, strACCDE“ innerhalb eines Bruchteils einer Sekunde ausgeführt und es passiert nichts.
    Welche Alternative kann man verrwenden?

Schreibe einen Kommentar