PDA

Vollständige Version anzeigen : Exclusives Öffnen der DB


Silvana
05.10.2000, 10:41
Hallo alle zusammen,

ich möchte, dass mein Access Frontend von jeweils nur einem User benutzt werden kann (also nicht in einer Mehrbenutzerumgebung)
Ich kann zwar in Access bei Optionen Exclusiv einsellen, dass gilt aber dann nur für diesen Computer - die anderen werden davon nicht beeinflusst - Kann ich mein Problem irgendwie lösen?
Für jede hilfe bin ich dankbar
Liebe Grüße
Silvana

Günther Kramer
05.10.2000, 11:41
Hallo Silvana,

es gibt mehrere Lösungen:
1.) Du kannst beim Starten der DB ein Kennzeichen in ein Tabellefeld setzen. Zunächst wird dieses Feld geprüft. Ist es leer, darf die Anwendung gestartet werden und das Feld wird gefüllt. Ist das Feld jedoch nicht leer, wird die Anwendung wieder geschlossen.
Bei einer normalen Bearbeitung wird beim Beenden der Anwendung das feld wieder gelöscht.

2.) Du kannst mit Hilfe des folgenden Beispieles prüfen, ob die Datenbank schon geöffnet wurde:
Homepage http://www.access-paradies.de unter Software-Katalog -> Softwaresammlung -> Sammlung 5 findest Du zwei Beispiele "Whos On 95/97" und "Whos On 97".

3.)
Du kannst mit folgender Funktion prüfen, ob die DB schon geöffnet ist:
Function IsExclusive () As Integer
Dim datei As Integer

On Error GoTo ErrorExclusive
datei = FreeFile
Open "c:\access\test\nwind.mdb" ForBinary ACCESS Read Write Shared As datei
Close datei

IsExclusive = False
Exit Function

ErrorExclusive:

IsExclusive = True
Exit Function

End Function

Steffen
05.10.2000, 18:14
Hallo Günther,

müßte nicht eigentlich auch folgendes funktionieren?

Dim DB As Database

Set DB = OpenDatabase("MultiUser.Mdb", True)

DB.Close


Steffen

Günther Kramer
05.10.2000, 22:41
Hallo Günther,

müßte nicht eigentlich auch folgendes funktionieren?

Dim DB As Database

Set DB = OpenDatabase("MultiUser.Mdb", True)

DB.Close

Steffen

Hallo Steffen,
Silvana will ja das Frontend nur einmal starten. Dieses ruft er über eine Verknüpfung auf. Dabei funktioniert Dein Vorschlag leider nicht.
Wenn jedoch eine Datenbank aus einer anderen DB aufgerufen werden soll, dann macht Dein Code durchaus Sinn und geht. :)