Hallo Leute,
ich möchte folgendes Problem gerne lösen:
Aus einer Excel-Tabelle werden Daten in Access importiert. Diese müssen dann über eine Frontend mit Formular um einige Eigenschaften ergänzt werden. Nun soll aber ein Datensatz, welcher von einem Mitarbeiter bearbeitet wird, den anderen Kollegen gar nicht erst angezeigt werden. Die Sperrung des Datensatzes erfolgt direkt nach der ersten Bearbeitung durch einen Mitarbeiter. Leider wird der Datensatz aber noch angezeigt und ein Kollege könnte bereits die relevanten Infos recherchieren, um dann zu merken, dass der Datensatz bereits bearbeitet wird.
Also konkret: Wie kann ein Datensatz im Formular, welcher bearbeitet wird, für andere ausgeblendet werden?
Vielen Dank und Gruß
BananaDealer
Auf direktem Weg innerhalb einer (1) Datenbank geht das nicht. Du kannst aber ein lokales (temporäres) Backend verwenden, die Daten dorthin importieren und nach erfolgtem Bearbeiten eine Transaktion öffnen, die Daten in eine Rutsch in das für alle zugängliche Backend mittels Anfügeabfrage transferieren, die Transaktion comitten und optional das temporäre Backend nebst erstellter Tabellenverknüpfung löschen.
Hallo Lachtaube,
danke für deine Antwort.
Das Problem wird die Struktur sein: Alle Daten kommen in die Backend. Jeder hat eine Frontend und muss die schon bestehenden Daten der Backend ergänzen, Datensatz für Datensatz. Sprich die ergänzten Datensätze in eine temporäre Backend zu schreiben, würde die noch nicht ergänzten Datensätze trotzdem weiter bei allen Kollegen anzeigen (sind ja in der allgemeinen Backend drin also quasi Roh-Datensätze). So wüsste man weiterhin nicht, ob jemand für einen Datensatz recherchiert, der eigentlich schon in Bearbeitung ist.
Den Arbeitsschritt des Aufteilens der Daten an jeden Mitarbeiter, um diese Dopplung auszuschließen, soll gerade mit Access vermieden werden (mit Excel war dies immer ein Problem).
Gibt es da evtl. einen Code den man schreiben könnte? Mit einer Art If-Abfrage, ob der aktuelle Datensatz geöffnet/bearbeitet wird und daraus resultierend einen Filter oder das Ausblenden der Datensätze.
Danke und Gruß
Ich hatte die Ausgangslage anders verstanden.
In einer Multiuser-Umgebung sollte im Formular links im Record Selector zu sehen sein, ob ein Datensatz gesperrt ist. Mehr dazu unter: Instantly "locking" a record in multi-user Access environment (https://stackoverflow.com/questions/44827351/instantly-locking-a-record-in-multi-user-access-environment) in der ersten Antwort.
Perfekt, danke erneut für deine Antwort!