Access: Test ob neu geladene Back-End die richtige Datenbank ist

...komplette Frage anzeigen

2 Antworten

Ist die Frage, wie Du dieses "passen" meinst.

Wenn detailierte Prüfungen auf die Tabellenstruktur erforderlich sind, weil die Leute die Datei umbenannt und inhaltlich beliebig geändert haben können, ist das aufwendig.

Wenn Du ganz einfach sagen willst "bei Dateiname X oder Y soll passend angenommen werden, bei allen anderen nicht", kannst Du über die Verweise der Tabellen prüfen, wie der Name der Datei ist. Da könntest Du in einem Rutsch auch den Pfad mit prüfen, falls nur Dateien zulässig sein sollen, die an vorher festgelegten Orten liegen.

Wenn Du im Backend eine Tabelle hast mit Daten, die die Datenbankdatei eindeutig beschreiben, kannst Du die Tabelle öffnen und auslesen und darüber prüfen, ob die Datei paßt oder nicht. Da kannst Du z.B. ein Feld "Version" anlegen und ein Feld "BackEndTyp" oder wie immer.

CholoAleman 07.07.2013, 01:50

Hallo,

ich habe es jetzt so gelöst wie Du in Deinem dritten Absatz aufgezeigt hast: FE re-linked eine Tabelle in die angegebene BE. Tritt dabei ein Fehler auf (weil es diese Tabelle nicht gibt), wird darauf in der Fehlerabfangroutine hingewiesen und die Tabelle zurückgelinkt. In dieser Tabelle (sowas wie "Programmsettings") steht in einem Feld der Name der Anwendung und eine Kennnummer. Sind die richtig, ists eine "passende" BE, wenn nicht, gibt es die entsprechende Meldung.

Immer noch alles ein wenig umständlich, aber es funktioniert!

0

Bei mir habe Frontend und Backend jeweils den gleichen Namen, gefolgt vom Appendix "F" (muss heißen UnterstrichF, wird hier nicht dargestellt) oder "B" für Front oder Back.

Daraus generiere ich dann FName, indem ich "F" entferne und durch Stern.Stern ersetze

Daher kann ich FileDialog dann mit .Filters.Add "Nur die Kunden-Dateien",F_Name, 1 dazu veranlassen, nur die passenden Dateien anzuzeigen. Klar, der Nutzer könnte das unten im FileDialog stehende "Kunden*.*" dann durch "*.*" ersetzen und doch alle erreichen, aber das fange ich dann nach der Auswahl ab.

Bei Backups würde ich noch neben dem Namen und dem _F das Datum unterbringen:

Kunden130731F.mdb (Auch hier fehlen leider wieder die Unterstriche, oder .mde) und für Filedialog und Ladeprüfung halt den Rest hinter Kunden vernachlässigen

Muster wegen der schlechten Darstellung hier im Editor:

Kunden_130630_F.mde wird F_Name Kunden*.*
CholoAleman 07.07.2013, 01:45

An eine ähnliche Lösung hatte ich auch gedacht, aber das nimmt mir ein wenig Flexibilität raus wenn eine FE mehrere BEs 'laden' kann (mit verschiedenen Namen). Aber auf jeden Fall Danke für die Antwort!

0

Was möchtest Du wissen?