Office: (Office 2010) Exclusives Öffnen

Helfe beim Thema Exclusives Öffnen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Tag, In einem Nertzwerk soll eine (Programm)-Datenbank nur jeweils von einem User geöffnet werden können. Die Datenbank enthält u.a. ein... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Granados, 4. Dezember 2025 um 19:37 Uhr.

  1. Granados hat Ahnung

    Exclusives Öffnen


    Guten Tag,
    In einem Nertzwerk soll eine (Programm)-Datenbank nur jeweils von einem User geöffnet werden können. Die Datenbank enthält u.a. ein Startformular. Versucht ein User die bereits geöffnete Datenbank zu öffnen, soll ein individuell gestalteter Infoext erscheinen, das Öffnen der Datei wird abgebrochen.

    Die Option "exclusives Öffnen" scheidet aus.

    Welche Strategie ist empfehlenswert, hat jemand Erfahrungen hierzu?

    Vielen Dank im Voraus
    Granados
     
  2. Warum sollte das nicht gehen bzw. warum scheidet diese Möglichkeit aus, denn das wäre dann doch naheliegend, oder?
     
  3. Granados hat Ahnung
    Auf die Startoptionen habe ich beim Anwender keinen Einfluss.
     
  4. Exclusives Öffnen

    Die Startoptionen haben damit wenig zu tun, denn du möchtest doch eine Datenbankdatei öffnen, oder habe ich da etwas falsch verstanden?
    Ob eine Datenbank bereits geöffnet ist, kannst du am einfachsten daran erkennen, ob die Datei <databasename>.laccdb existiert. Diese Information kannst du auswerten und entsprechend deinen Vorgaben reagieren.

    Knobbi38
     
    Zuletzt bearbeitet: 4. Dezember 2025 um 21:54 Uhr
  5. Granados hat Ahnung
    Die Datei <databasename>.laccdb wird gebildet, sobald ein Anwender die Datenbank <databasename>.accdb durch anklicken im Explorer z.B. geöffnet hat. Ein weiterer Anwender kann aber ungehindert ebenfalls <databasename>.accdb öffnen.

    Ich sehe keine Chance, die Existenz von <databasename>.laccdb bei diesem Szenario vorab zu prüfen.

    Gruß
    Granados
     
  6. andyfau
    andyfau Erfahrener User
    Hallo,
    Du könntest auch im Backend in einer Tabelle, die nur einen Satz hat, den Benutzer eintragen sobald ein User sich anmeldet. Solange dort ein Satz drin steht schließt Du weitere Anmeldungen aus, wenn es nicht derselbe Benutzer ist. Schließt der Benutzer die Datenbank löscht Du den Datensatz in der Tabelle. Ist die Anzahl Datensätze (DCount) = 0, kann ein anderer User die DB nutzen, usw.
    Sowohl Knobbis, alsauch meine Lösung sind praktikabel, wobei es vorkommen kann, dass Access die .laccdb bei Absturz auch mal stehen lässt, weshalb sie dann erst beim nächsten, ordnungsgemäßen Öffnen/Schließen wieder verschwindet, bzw. manuel gelöscht werden muss.
    Desgleichen gilt natürlich für den Kontrolldatensatz, wenn ein Nutzer die DB nicht ordnungsgemäß beendet.
     
  7. Du schreibst eine kleine Startup-Routine und prüfst, ob eine .laccdb Datei existiert. Wenn keine existiert, öffnest du die gewünschte DB anderfalls beendest du die Ausführung.

    So eine Startup Routine kannst du mit Access oder besser z.B. mit c# erstellen. Auch eine Batch-Datei oder Powershell wäre möglich.
    Damit die DB nicht direkt gestartet (per explorer) werden kann, änderst du einfach die Extention in z.B. .dat oder .bin. Eine andere Variante wäre das überprüfen eines Arguments beim Start.

    Etwas komplizierter, aber ebenfalls machbar ist die inhaltliche Auswertung der .laccdb Datei. Wenn noch andere Benutzer die DB bereits geöffnet haben, sind mehre Einträge vorhanden.

    Knobbi38
     
    Zuletzt bearbeitet: 5. Dezember 2025 um 13:25 Uhr
  8. Exclusives Öffnen

    Nachtrag:
    Du kannst beim Start auch selber eine eigene Lock-Datei mit einem Timestamp anlegen und beim Beenden wieder löschen. Möglichkeiten gibt es viele, lasse einfach mal deine Phantasie etwas spielen.
     
  9. Granados hat Ahnung
    Danke für eure Antwort.

    Ich hab ein grundsätzliches Problem. Bei einer selbstgestrickten Benutzerverwaltung kann ich erst nach Start der <databasename>.accdb den aktuellen Benutzer abfragen. Dort wird über eine geeignete Routine festgestellt, oh, es ist ein anderer Benutzer bereits eingetragen, also nichts wie raus oder mal rumfragen, ob tatsächlich ein anderer Benutzer bei der Arbeit ist. Vielleicht liegt da ja irgendwo ein unkontrollierter Abbruch vor und der Eintrag ist nicht mehr aktuell.

    Bei der laccdb ist es ähnlich. Die <databasename>.accdb wird gestartet, eine entsprechende Routine stellt fest, oh, es ist eine <databasename>.laccdb vorhanden, ich hätte gar nicht starten dürfen. Das ist logisch, die laccdb wird in jedem Fall gebildet, egal, ob ich oder ein anderer die <databasename>.accdb öffnet.

    Ich müsste also einen dritten Weg neben <databasename>.accdb und <databasename>.laccdb gehen, in Form einer wie auch immer gestaltete Startroutine von außen. In meinem Szenario ist dies nicht machbar. Die Datenbanken müssen wie gewohnt durch normale Desktopverbindungen oder Klick im Explorer zu öffnen sein, immer mit einem Standard-Access.

    Ich kann eine accdb nicht mit einer anderen Extension versehen. Access erkennt nur seine eigenen accdb. Wahrscheinlich habe ich hier etwas falsch verstanden.

    Viele Grüße
    Granados
     
  10. Hi,

    natürlich kann man eine DB auch mit einer anderen Extension versehen und diese mit Access öffnen und wie angedeutet, könnte man so ein Konstrukt mit einer Start DB versehen, welche dann die Prüfung vornimmt und ggf. die "richtige" DB startet oder auch nicht.

    Unabhängig davon kannst du doch die .laccdb auslesen und prüfen, ob schon ein anderer Anwender die DB geöffnet hat.

    Allerdings verstehe ich immer noch nicht, warum eine DB nur von einem User geöffnet werden darf.
     
  11. Granados hat Ahnung
    Meine Access Anwendungen laufen auf localen Netzwerken bei verschiedenen Firmen. Die Programme bestehen in der Regel aus diversen Frontends und einem SQL-Backend. Ich bin externer Administrator für Access und habe nur bedingt Einfluss auf die locale Installation.
    So kann ich nicht verhindern, dass man sich über meine Installationsdirektive hinwegsetzt. Neben Mehrplatzinstallationen, bei der jeder Arbeitsplatz seine eigene accdb hat, gibt es auch Einplatzprogramme, die jeweils immer nur von einem User benutzt werden dürfen. Wenn es z.B. um einen Rechnungsabschluss mit Übergabe in eine Buchhaltung geht, darf dies nur von einer Person durchgeführt werden. Wenn zwei diese Funktionalität gleichzeitig nutzen, kann es zu Störungen kommen, z.B. Doppelübergaben.
    Frau Müller hat im Büro A die Verknüpfung zum Übergabeprogramm, Im Büro B sitzt Herr Schmidt, der ebenfalls mit der gleichen accdb verknüpft ist, um ggf. die Aufgabe von Frau Müller zu übernehmen, aus welchen Gründen auch immer.
    Wenn die beiden sich nicht absprechen, kann das zum Problem für mich werden, der die Doppelübergabe reparieren muss.

    Gruß
    Granados
     
  12. Ich gehe jetzt mal davon aus, dass du immer nur von eine Frontend/Backend Konstellation sprichst. Warum machst du dir es nicht einfach und greifst den Lösungsansatz von Andreas (#6) auf. Das geht sowohl mit einem Access Backend als auch mit einer SQL-DB.
     
  13. Granados hat Ahnung

    Exclusives Öffnen

    Eine eigene Benutzerverwaltung zu implementieren, ist eine gangbarer Weg. Allerdings ist er aufwendig.
    Wenn ein Anwender das "Stoppschild" ignoriert und einfach weitermacht, kann man ihm zumindest die Verantwortung zuschieben.
    Ich dachte, es gebe eine elegantere Lösung. Vielleicht findet sich ja was.

    Vielen Dank und Gruß
    Granados
     
  14. Hallo,

    eine eigene Benutzerverwaltung ist etwas anderes.
    Wenn die Bedingung für einen DB Zugriff nicht erfüllt ist, kannst du doch die Anwendung beenden.
    Das ist doch die gleiche Problemstellung, wie eine Implementierung für "administrative Arbeiten". Sollte jetzt nicht so schwer sein.

    Knobbi38
     
Thema:

Exclusives Öffnen

Die Seite wird geladen...
  1. Exclusives Öffnen - Similar Threads - Exclusives Öffnen

  2. Problem mit einer Word-Datei (Word stürzt ab)

    in Microsoft Word Hilfe
    Problem mit einer Word-Datei (Word stürzt ab): Hallo, bei einem Bekannten stürzt MS Word nach dem Öffnen einer Datei ab. Problembeschreibung: Office-Word 2016 (leider) und ein alter PC mit Windows 10 Datei kann geöffnet werden und dann...
  3. Kann keine .msg Dateien öffnen

    in Microsoft Outlook Hilfe
    Kann keine .msg Dateien öffnen: Hallo zusammen, Ich habe seit gestern ein 365 Family Abo. Ich habe auch Outlook installiert Office 365 hat mich während der Installation nicht gefragt was ich haben mag), zumindest denke ich das,...
  4. PDF nach speichern nicht öffnen

    in Microsoft Excel Hilfe
    PDF nach speichern nicht öffnen: Moin, ich habe dieses Makro: Sub PDF() With ActiveSheet With .PageSetup .PrintArea = "$A$1:$e$46" .Orientation = 2 End With .ExportAsFixedFormat...
  5. DropDown öffnen bei anwählen (.Select) einer Zelle

    in Microsoft Excel Hilfe
    DropDown öffnen bei anwählen (.Select) einer Zelle: Hallo und guten Abend, ich suche nach einem unter Office 365 funktionierenden VBA-Code, um ein DropDown-Menü direkt zu öffnen, wenn man die betreffenden Zelle anwählt, OHNE das NUMLOCK jedes mal...
  6. PDF mit Word öffnen

    in Microsoft Outlook Hilfe
    PDF mit Word öffnen: Hallo zusammen, ich bekomme viele PDF`s, die ich weiterbearbeiten muss, dazu kommen noch Tabellen, die ich nicht richtig herauskopieren kann, nur sehr umständlich. Jetzt habe ich den Versuch...
  7. Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA

    in Microsoft Excel Hilfe
    Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA: Hallo Leute, Hoffentlich könnt ihr mir hier helfen, ich krieg den Syntax einfach nicht hin (wahrscheinlich ist es auch totaler käse den ich programmiert habe). Also im Grunde soll eine Datei...
  8. Webadresse aus Formular öffnen

    in Microsoft Access Hilfe
    Webadresse aus Formular öffnen: Hallo zusammen, ich bin am verzweifeln. Ich habe in einem Formular ein Feld mit Pfaden zu einer Webadresse mit unterschiedlichen Unterseiten. In meinem Fall ist das https://www.discogs.com...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden