Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Gockel67 am Mai 23, 2026, 12:41:58

Titel: Backend vom Frontend trennen
Beitrag von: Gockel67 am Mai 23, 2026, 12:41:58
Moin Gemeinde,

gibt es eine Möglichkeit das Backend vom Frontend zu trennen sodass mau aus dem Frontend heraus eine Datensicherung durchführen kann?

Wünsche allen frohe Pfingsten
Jörg
Titel: Re: Backend vom Frontend trennen
Beitrag von: Knobbi38 am Mai 23, 2026, 14:11:12
Hallo Jörg,

das BE ist normalerweise per verknüpfter Tabellen eingebunden, welche du alle löschen kannst. Nach der Sicherung erstellst du diese Verknüpfungen wieder neu.

Knobbi38
Titel: Re: Backend vom Frontend trennen
Beitrag von: andyfau am Mai 23, 2026, 17:10:12
Ich hab da vor einiger Zeit mal etwas Code mit Erläuterung gefunden, der bei mir gut funktioniert hat.

http://www.ramses.de/?p=827 (http://www.ramses.de/?p=827)
Titel: Re: Backend vom Frontend trennen
Beitrag von: Knobbi38 am Mai 24, 2026, 10:44:27
Die Idee aus dem Link (#2) ist sicherlich besser als das Löschen der Verknüpfungen, aber vielleicht sollte man doch prüfen, ob eine Lockdatei existiert. Das ganze Gedöns mit Schleife über Tabledefs, Stringverarbeitung usw. lässt sich auch mit viel weniger Code eleganter lösen:
  strQuellPfad = Nz(DLookup("Database", "MSysObjects", "Type = 6"), "")
  If strQuellPfad = "" Then
    MsgBox "Keine verknüpften Tabellen gefunden.", vbExclamation, "Abbruch"
    Exit Sub
  End If
Und ansatt eine alte Backup-Datei einfach zu "killen", könnte man auch jeweils eine neue Datei mit einem Timestamp anlegen.

Nur mal so ...  ;)
Titel: Re: Backend vom Frontend trennen
Beitrag von: Gockel67 am Mai 26, 2026, 08:45:33
Moin Knobbi,

das mit dem Timestamp mache ich in meiner bisherigen Datensicherung sowieso.
Aber verstanden was der von dir gepostete Code macht hab ich überhaupt nicht.
Würdest du mir das bitte erklären?

Liebe Grüße
Jörg
Titel: Re: Backend vom Frontend trennen
Beitrag von: Knobbi38 am Mai 26, 2026, 10:27:14
Hallo Jörg,

anstatt die Tabledefs-Auflistung nach verknüpften Tabellen zu durchsuchen, wird mit dem Code direkt über die Systemtabelle auf das Feld Database einer verknüpften Tabelle zugegriffen. Du kannst das auch im Direktfenster aufrufen:
? Nz(DLookup("Database", "MSysObjects", "Type = 6"), "") Damit wird natürlich nur eine BE unterstützt, wenn du mehrere hast, müsstest du den Code erweitern.

Schau dir mal die Tabelle MSysObject direkt an, dann wird das etwas klarer.

Gruß Knobbi38