PDA

Vollständige Version anzeigen : Back-End / Front-End - Wie genau?


slomoman
08.10.2001, 09:40
Hallo,
kann mir mal einer ganz allgemein erklären, wie ich eine Front-End DB erstelle, die auf eine Back-End DB zugreift? Und wie wird das Front-End dann auf den Clients installiert? Die DB soll mehrbenutzerfähig sein.

Goki
08.10.2001, 11:25
Hallo Daniel,

zum Thema Aufteilung Front-/Back-End in Access muß ich ein wenig ausholen ...

Access speichert ja sämtliche Daten in einer Dabei mit der Endung *.mdb ... andere Datenbanksysteme machen das nicht so ...

Deine Formualre hast separat gespeichert und die eigentlichen Daten sind auch separat angelegt. In Access kannst dazu nur folgendes tun:

1. Eine Access-Datenbank erstellen in welecher NUR die Tabellen mit den Daten abgelegt sind. Das ist dann das sogenannte Back-End, welches auf einem zentralen Server dann abgelegt wird.

2. Eine weitere Access-Datenbank erstellen in welcher dann die Formulare, Berichte, Makros, Module etc. enthalten sind. Im Container Tabellen klickst dann mit der rechten Maus-Taste und gehst auf Tabellen verküpfen. Dabei öffnest dann die Datenbank mit den Daten und wählst alle tabellen aus.
Das ist dann dein Front-End, welches bei jedem User im Netzwerk auf seinem Rechner abliegen kann.

Der Vorteil ist, wenn du ein Up-Date, bzw. Umbau der Formulare vornimmst, muß jeder User nur die Front-End mal eben kurz austauschen und hat alle Neuerungen. Die Daten sind aber unversehr auf dem Server.

Der Multi-User Zugriff müßte auch funktionieren.

slg
Goki

slomoman
08.10.2001, 14:26
Danke, jetzt weiss ich mehr.
Die einzige Frage ist, ob das Ganze danach wirklich mehrbenutzerfähig ist. Hat da jemand Erfahrung? Wann werden denn die Daten der verknüpften Tabellen aktualisiert bzw. wann werden geänderte Daten zurückgeschrieben und was ist, wenn dann schon ein anderer die Daten geändert hat? Geht das automatisch oder muss bzw. kann man das im Programm steuern?

Sandrine
09.10.2001, 06:21
Wie das im Multi-User- Modus funktioniert, kann ich Dir leider nicht sagen (bin aber auf Erfahrungen gespannt, "meine" PC´s werden gerade verkabelt...).
Das Aufteilen der DB wie Goki es beschrieben hat, nimmt Dir Access auch ab, über Extras, Add-Inns, Assistent zur Datenbankaufteilung.
Dein Back-End bekommt dann die Endung _be.mdb. Mit der Aufteilung an sich habe ich gute Erfahrungen gemacht, man kann Änderungen im Frontend aufspielen, ohne die Daten anzutasten.

Sascha Trowitzsch
09.10.2001, 09:43
Sei unbesorgt, slomoman, das funktioniert so schon fehlerlos.

Die Performance wird zwar - je nach Netzwerk - ordentlich absacken, aber so ist das halt in Mehrbenutzerumgebungen.

Die Daten werden - wenn nicht andere Einstellungen vorgenommen - sofort in das Backend geschrieben, d.h., nach Verlassen des jeweiligen Datensatzes.
Wenn zwei gleichzeitig auf einem Datensatz arbeiten, dann 'gewinnt' der , der ihn zuletzt verlässt. Es kann aber auch eine Meldung auftauchen, dass der momentane Datensatz bereits von einem anderen User bearbeitet wird und 'Möchten Sie wirklich speichern?' (so ungefähr)

Man kann diese 'Vorrangschaltung' im Prinzip auch mit VBA steuern; das ist aber schon reichlich kompliziert. Versuchs erstmal mit der Aufteilung und schau, ob's so nicht reicht.

Ciao, Sascha