Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formular ändern in Mehrbenutzerumgebung

Begonnen von Jodel, Februar 05, 2019, 19:44:40

⏪ vorheriges - nächstes ⏩

Jodel

Ich möchte in einem Formular eine Lagerbelegung graphisch darstellen. Für jeden Stellplatz (ca. 500 Stck) habe ich in dem Formular ein Steuerelement hinterlegt, das standardmäßig grün ist. Wenn der Stellplatz belegt wird, soll das Feld rot angezeigt werden. Bei Buchung auf den Stellplatz öffne ich per VBA das Formular in der Entwurfsansicht, setze die Hintergrundfarbe des betroffenen Steuerelements auf rot, speichere, und schließe anschließend das Formular wieder. Bei Ausgangsbuchung wird entsprechend wieder auf grün zurückgesetzt. Als exklusiver Benutzer funktioniert alles einwandfrei. Wenn mehrere Benutzer auf die Datenbank zugreifen, kann das Formular nicht gespeichert werden - es erscheint eine entsprechende Fehlermeldung. Kann man Formulare aus der Exklusivitätsprüfung ausschließen oder das Problem anders umgehen?

PhilS

Zitat von: Jodel am Februar 05, 2019, 19:44:40
Bei Buchung auf den Stellplatz öffne ich per VBA das Formular in der Entwurfsansicht, setze die Hintergrundfarbe des betroffenen Steuerelements auf rot, speichere, und schließe anschließend das Formular wieder.
Das ist so weder vorgesehen noch sinnvoll.
Die Buchung auf einen Stellplatz sollte als Eintrag in einer Datenbanktabelle erfolgen. Abhängig davon kannst du dann per Programmcode, oder evtl. auch per per Bedingter Formatierung, die Farbe der Steuerelemente ändern.

Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

MzKlMu

Hallo,
außerdem muss in einer Mehrbenutzerumgebung die Datenbank in Backend (nur die Tabellen) und Frontend (der Rest) aufgeteilt werden. Das Frontend braucht jeder User auf seinem eigenen PC. Was auf jedem PC Access mindestens als Runtim erforderlich macht.
Das Vorhaben ist daher auch aus diesem Grund zum Scheitern verurteilt.
Gruß Klaus

Jodel

Die Belegung der Stellplätze habe ich in einer Tabelle abgelegt, kann ich auch im Endlosformular anzeigen. Ich möchte aber eine grafische Übersicht (Matrix) haben, um auf Anhieb zu sehen, welche Bereiche belegt sind. 

MzKlMu

Hallo,
Du musst die DB aufteilen in Backend und Frontend. Du kannst das nicht einfach ignorieren. Gerade die unterschiedlichen Farben wird erforderlich machen, dass jeder User sein eigenes Frontend hat.
Gruß Klaus

PhilS

Zitat von: Jodel am Februar 07, 2019, 16:25:30
Ich möchte aber eine grafische Übersicht (Matrix) haben, um auf Anhieb zu sehen, welche Bereiche belegt sind.
Wenn du die einzelnen (Steuer-)Elemente deiner Matrix vernünftig benennst, kannst du die Änderung der Farben auch genauso per VBA-Code vornehmen (lassen), wie du es jetzt manuell machst. Dann entfällt das Problem der manuellen Änderungen am Entwurf und der jeweilige Zeitaufwand dafür sowieso.


Die Aufteilung in Frontend/Backend ist zwar für alle Access-Mehrbenutzeranwendungen dringendst angeraten, aber für deine konkrete Frage eigentlich ein Sekundärproblem.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Jodel

Vielen Dank für die Hilfestellung. Ich hatte den Gedankenfehler, dass ich die Farbe der Steuerelemente im Formular direkt bei Buchung dauerhaft ändern wollte. Jetzt greife ich erst beim Öffnen des Formulars auf den aktuellen Bestand zu und ändere die Farben nur temporär.  ;)