Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 1/2003.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Verteilte Access-Anwendungen

André Minhorst, Duisburg

Kleinere Datenbankanwendungen mit wenigen Benutzern und nicht allzu großem Datenverkehr können auch im Netzwerk problemlos mit Access bewältigt werden. Das gilt auch, wenn die Datenbanken ihre Daten von unterschiedlichen Orten beziehen - z. B. aus der Projektdatenbank, der Kundendatenbank, der Mitarbeiterdatenbank usw. Dabei gibt es allerdings einige Punkte zu beachten. Der vorliegende Beitrag erläutert die Benutzung verteilter Datenbanken am Beispiel der Aufgabenverwaltung aus der aktuellen Ausgabe von Access im Unternehmen.

Gründe für verteilte
Anwendungen

Im Datenbankbereich spricht man von verteilten Anwendungen, wenn sich Benutzerfrontend und/oder Datenbackend auf mehrere Datenbanken aufteilen. Das kann im Wesentlichen zwei Gründe haben:

  • Mehrere Benutzer sollen auf ein und denselben Datenbestand zugreifen können.
  • Zwei Datenbanken sind so miteinander verknüpft, dass mindestens eine auf die Daten der anderen zugreift.
  • Mehrbenutzerbetrieb

    Die Datenbank Aufgabenverwaltung, die ebenfalls in der vorliegenden Ausgabe von Access im Unternehmen vorgestellt wird, ist ein gutes Beispiel für eine verteilte Datenbankanwendung.

    Dort sollen mehrere Anwender auf den gleichen Datenbestand zugreifen. Damit dies funktioniert, müssen die Daten - die sich in den Tabellen befinden - von allen beteiligten Rechnern aus erreichbar sein.

    Da die Anwendungslogik - also die Abfragen, Formulare, Berichte usw. - aber möglichst auf den Rechnern der Anwender vorliegen sollen, um die Netzlast zu minimieren, müssen Sie die Datenbank zwangsläufig aufteilen.

    Verteilte Datenbanken

    Manchmal wächst mit der Zeit auch die Anzahl der in einer Firma verwendeten Datenbanken. Das liegt meiste daran, dass jede Abteilung ihr eigenes Süppchen kocht und eigene Datenbanken erstellt mit der Folge, dass das Unternehmen Datenbanken doppelt führt.

    Wenn Daten also in der einen oder anderen Form bereits vorliegen, sollte man auf bereits Vorhandenes zugreifen, statt die gleichen Daten nochmals zu speichern. Das verhindert redundante Daten, Inkonsistenzen und jede Menge Ärger.

    Access bietet die Möglichkeit, Tabellen von bereits bestehenden Datenbanken in anderen Datenbanken weiter zu verwenden.

    Aufteilen von Datenbanken

    Das Aufteilen von Datenbanken erledigt in der Regel ein Assistent. Da Sie aber vermutlich die volle Kontrolle haben wollen und sich nicht auf den Assistenten verlassen möchten, führen Sie die Aufteilung und anschließende Verknüpfung einer Datenbank und ihrem Backend einfach einmal von Hand durch.

    Abb. 1: Importieren von Tabellen

    Abb. 2: Verknüpfen der Daten aus dem Backend

    Abb. 3: Anzeige verknüpfter Tabellen im Datenbankfenster

    Hinweis

    Falls Sie die Aufgabenverwaltung aus der vorliegenden Ausgabe von Access im Unternehmen einsetzen möchten, werden Sie diese vermutlich ohnehin aufteilen. Das können Sie mit der folgenden Anleitung einfach erledigen. (

  • Legen Sie eine neue Datenbank an und speichern Sie diese unter dem Namen Aufgabenverwaltung_be.mdb.
  • Wählen Sie den Menübefehl Datei ( Externe Daten ( Importieren aus.
  • Wählen Sie die Datei Aufgabenverwaltung.mdb.
  • Markieren Sie alle Tabellen und klicken Sie auf die Schaltfläche OK (s. Abb. 1). (
  • Den ersten Schritt haben Sie somit durchgeführt. Sie haben die Backend-Datenbank erstellt und mit den Daten gefüllt.

    Im zweiten Schritt bearbeiten Sie nun die Original- und zukünftige Frontenddatenbank. Zuvor müssen Sie jedoch die neue Backenddatenbank noch schließen, da Sie sonst die Tabellen nicht verknüpfen können.

    Hinweis

    Bevor Sie die folgenden Schritte durchführen, sollten Sie die Originaldatenbank sichern. (

  • Öffnen Sie die Originaldatenbank.
  • Löschen Sie alle Tabellen, die Sie in die Backendtabelle auslagern möchten.
  • Wählen Sie den Menübefehl Daten ( Externe Daten ( Tabellen verknüpfen aus.
  • Wählen Sie im Dialog Verknüpfen die Backenddatenbank aus.
  • Wählen Sie im Dialog Tabellen verknüpfen (s. Abb. 2) die zu verknüpfenden Tabellen aus. (
  • Public Sub TabellenVerknuepfen()

        Dim db As Database

        Dim rst As Recordset

        Dim i, j As Integer

        Dim tbl As TableDef

        Dim Pfad, Backendname As String

        Pfad = InputBox("Bitte geben Sie den Pfad des Backends ein.")

        On Error GoTo TabellenVerknuepfen_Err

        Set db = CurrentDb

        For i = 1 To db.TableDefs.Count - 1

            Set tbl = db.TableDefs(i)

            If tbl.Connect <> "" Then

                On Error Resume Next

                Set rst = tbl.OpenRecordset()

                If Err.Number <> 0 Then

                    On Error GoTo TabellenVerknuepfen_Err

                    For j = Len(tbl.Connect) To 1 Step -1

                        If Mid(tbl.Connect, j, 1) = "\" Then

                            Backendname = Right(tbl.Connect, Len(tbl.Connect) - j)

                            Exit For

                        End If

                    Next j

                    If Backendname <> "0" Then

                        Backendname = Pfad & "\" & Backendname

                        tbl.Connect = ";DATABASE=" & Backendname

                        tbl.RefreshLink

                    End If

                End If

            End If

        Next i

        Exit Sub

    TabellenVerknuepfen_Err:

        MsgBox "Fehler beim Verknüpfen."

    End Sub

    Quellcode 1

    Access zeigt die verknüpften Tabellen im Datenbankfenster an. Ein Pfeil weist auf die Verknüpfung hin (s. Abb. 3).

    Verknüpfungen aktualisieren

    Unter manchen Umständen verändert sich der Speicherort der Backendtabelle. Die Folge: Die Frontenddatenbank findet das Backend nicht mehr.

    Im Prinzip müssen Sie in diesem Fall einfach die Tabellen erneut mit dem Frontend verknüpfen. Dem Anwender sollten Sie das aber nicht zumuten. Erstens gibt es Anwender, die damit überfordert sind, und zweitens müssen Sie unter Umständen alle vorhandenen Frontends aktualisieren. Also schreiben Sie eine kleine Prozedur, mit der Sie die Verknüpfungen fast komplett automatisch aktualisieren können (s. Quellcode 1).

    Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

    Sind Sie Abonnent?Jetzt einloggen ...
     

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.