0

Datensatz sperren

Hallo, ist es eigentlich möglich eine Sperre für die Datensätze einzurichten, so daß man nicht versehentlich in einem falschen Datensatz etwas ändert.
Gruß
Thomas

29 Antworten

null
    • Leonid_Semik
    • vor 7 JahrenMon, May 7, 2018 at 8:39 AM UTC
    • Gemeldet - anzeigen

    Hallo Thomas,

    Auf Tabellenebene gibt es ein Feld "Schreibbar wenn". Dort kansst du die Bedingungen rein shreiben. Z.B ein Ja/Nein Feld namens  Gesperrt erstellen und Die Bedingung Gesperrt!=true schreiben. so kannst du die Bearbeitung der Felder mit einem Klick sperren indem du das Feld Gesperrt anklickst. Problematisch wird es die Sperre aufzuheben - noch Mal kliecke geht nicht (ist ja alles gesperrt). Abhilfe schaffen die Befehlsschaltflächen, diese kannman auch in geperrtem Zustand anklicken und die Skripte werden ausgeführt. Also zwei flechen erstellen: Sperren und Bearbeiten.

    Bei Sperren Skript

        Gesperrt:=true

    und die Sichtbarkeit auf

        Gesperrt != true

    Bei Bearbeiten Skript

    Gesperrt:=false

    und die Sichtbarkeit auf

    Gesperrt = true

     

    Wenn du beide Felder jetzt gleich groß machst und nacheinander platzierst, griegst du eine Anwendung zum Sperren/Editieren.

     

    Leo

    • CTRAVEL
    • vor 7 JahrenMon, May 7, 2018 at 10:25 AM UTC
    • Gemeldet - anzeigen

    Hallo Leo, super. Klappt einwandfrei. Ist sicher auch für andere interessant.
    Gruß
    Thomas

    • tschijoh
    • vor 7 JahrenMon, May 7, 2018 at 3:43 PM UTC
    • Gemeldet - anzeigen

    Hallo Leo,

    ich stelle mich wieder mal an! Gibt es da ein Beispiel? "Auf Tabellenebene gibt es ein Feld "Schreibbar wenn". Dort kansst du die Bedingungen rein shreiben. Z.B ein Ja/Nein Feld namens  Gesperrt erstellen und Die Bedingung Gesperrt!=true schreiben" und auch:" Wenn du beide Felder jetzt gleich groß machst und nacheinander platzierst, griegst du eine Anwendung zum Sperren/Editieren."

    Irgendwie klappt das nicht so. 

    Gruß tschijoh

    • Leonid_Semik
    • vor 7 JahrenMon, May 7, 2018 at 3:49 PM UTC
    • Gemeldet - anzeigen

    Es gibt bei Webinar DE 2018 eine Datenbank 47_Toggle Eingabe Lock_input Version 2 von Birger.

    Bist du dort angemeldet?

    Leo

    • tschijoh
    • vor 7 JahrenMon, May 7, 2018 at 4:35 PM UTC
    • Gemeldet - anzeigen

    ...leider nein😒

    • CTRAVEL
    • vor 7 JahrenMon, May 7, 2018 at 5:42 PM UTC
    • Gemeldet - anzeigen

    Hallo Tschijoh, an welcher Stelle klappt es nicht?
    Gruß Thomas

    • Leonid_Semik
    • vor 7 JahrenMon, May 7, 2018 at 6:19 PM UTC
    • Gemeldet - anzeigen
    • tschijoh
    • vor 7 JahrenMon, May 7, 2018 at 6:30 PM UTC
    • Gemeldet - anzeigen

    Hallo Thomas und Leo,

    ...vielen Dank, es hat geklappt. Mit etwas ruhe ist man doch schneller! Schönen Abend.

    Gruß Jens

    • Dirk_Pulver_2020
    • vor 7 JahrenTue, May 8, 2018 at 11:59 AM UTC
    • Gemeldet - anzeigen

    Hab da sogar ne Lösung entwickelt, dass man an das entsperren eine Passwortabfrage dranknüpft, damit nicht einfach jeder entsperren kann. Bei Interresse kann ich eine Beispieldatei zur Verfügung stellen.

    • tschijoh
    • vor 7 JahrenTue, May 8, 2018 at 12:13 PM UTC
    • Gemeldet - anzeigen

    Sehr geehrter Herr Pulver, das würde mich Interressieren und würde mich über die Beispieldatei freuen.

    Gruß Jens

    • Dirk_Pulver_2020
    • vor 7 JahrenTue, May 8, 2018 at 1:43 PM UTC
    • Gemeldet - anzeigen

    Hier die Datenbank:
    https://drive.google.com/open?id=17ucUiYFIUlJDwmaqqkZlerwWn_WSZL3P

    Wenn ein neuer Datensatz in "Maske" angelegt wird und mit 'OK' abgeschlossen, wird er gesperrt. Nun muss man durch Eingabe des Masterkennwortes die Felder zur Bearbeitung öffnen.

    • Pyromixer.1
    • vor 6 JahrenSat, October 27, 2018 at 3:36 AM UTC
    • Gemeldet - anzeigen

    Vielen Dank an die Beteiligten hier. Habe mir auch mal einen Sperrbutton eingebaut und das funktioniert super.

    • Andreas_Schmitz
    • vor 6 JahrenSun, November 25, 2018 at 9:28 PM UTC
    • Gemeldet - anzeigen

    Eine einfachere Lösung: Schreibbar wenn: Feld = 0 or userHasRole("supervisor"). Feld ist eine Verknüpfung, die besonders schützenswert sind. Handelt es sich um ein normales Feld, nimmt man Feld = null or userHasRole("supervisor"). Man spart sich zusätzlich Felder und Button sowie auch Masterpasswörter. 

    • Andreas_Schmitz
    • vor 6 JahrenSun, November 25, 2018 at 9:31 PM UTC
    • Gemeldet - anzeigen

    Man kann natürlich auch "admin" nehmen. Dieser kann aber grundlegende Ändeurngen vornehmen, während der "supervisor" nur den Betriebsablauf steuert. 

    • Urban
    • vor 6 JahrenSun, January 13, 2019 at 12:12 PM UTC
    • Gemeldet - anzeigen

    Oh mein Gott, löscht bitte meine ersten Eintrag. ( Die anderen waren schuld!)

    Sehr geehrter Herr Pulver,
    ich würde mich ebenfalls sehr über Ihre Beispielsdatei freuen.
    Leider klappt der DL nicht mehr.
    Gruß Götz

    • BraniZ
    • vor 6 JahrenSat, January 19, 2019 at 12:38 PM UTC
    • Gemeldet - anzeigen

    Hallo an alle.

    Der Beitrag ist gut. Hat mir bei meiner Erstlleung der DB geholfen.

    Frage zu Ausnahmen.

    Ich habe 3 Check-Boxen zum Anzeigen von Untertabellen / Feldern.

    Wenn die Eingabe Maske nach dem Beispile gespert ist kann ich die Check-Boxen nicht bearbeitn.

    Gibt es eine Möglichkeit die Check-Boxen nicht durch die Spere zu blocken?

    Gruß

    Brani

    • Team Lead Customer Service
    • joerg
    • vor 6 JahrenThu, January 24, 2019 at 4:25 PM UTC
    • Gemeldet - anzeigen

    Hallo, 

    du kannst auch alle anderen Felder einzeln sperren.

    Ansonsten kannst du aber auch Befehlsschaltflächen (die je nach Inhalt der Check-Boxen ein- oder ausblendest) benutzen, um die Checkboxen zu bearbeiten.

    Gruß, Jörg

    • Joerg.1
    • vor 6 JahrenFri, February 8, 2019 at 9:40 AM UTC
    • Gemeldet - anzeigen

    Hallo,

    ich finde die Funktion im Beispiel 047 sehr interessant, habe dazu zwei Fragen:

    1. Wenn ich Änderungen per Script vornehmen möchte, muss ich wohl als erstes das Flag ändern, um die Änderungen freizugeben. Ändere ich dann im Script das Feld, welches für die Sperrung zuständig ist, wird dann auch die Sperrung wieder aktiv?

    2. Ist es möglich die Sperrung durch das Schließen des Datensatzes vorzunehmen?

    Danke und viele Grüße

    Jörg

    • Birger_H
    • vor 6 JahrenFri, February 8, 2019 at 2:34 PM UTC
    • Gemeldet - anzeigen

    1 / Ja, das ist ein Problem. Buttons werden aber immer funktionieren.

    2 / Nein. Es gibt nur folgende Trigger: 
    - onCreate - Beim Erstellen eines Datensatz'
    - onChange - Beim Ändern eine Datensatz' oder Felds
    - onOpen - Beim Öffnen der Datenbank
    Birger

    • Joerg.1
    • vor 6 JahrenFri, February 8, 2019 at 4:22 PM UTC
    • Gemeldet - anzeigen

    Danke, Birger.

    Ich habe eine Version 3 der Datenbank 047 (047_3) hochgeladen. Vielleicht ist diese Vorgehensweise hilfreich.

    • Mirko.1
    • vor 6 JahrenFri, February 8, 2019 at 6:14 PM UTC
    • Gemeldet - anzeigen

    Ich habe das mit dem sperren eines Datensatzes so gelöst, dass ich einen Button mit der Bezeichnung „Datensatz schließen“ eingebaut habe, mit dem ich den Datensatz schließe. 

     

    Als Code hinterlegt

     

    Gesperrt:= true;

    closeRecord()

    Man muss natürlich dann darauf achten, den Datensatz immer so zu schließen. Am besten funktioniert das bei mir bei einem Vollbildformular, dann ist man nicht so geneigt auf einen anderen Datensatz an der Seite zu klicken oder das kleine x in der Ecke zu nutzen!

     

    Gruß 

    Mirko

    • Joerg.1
    • vor 6 JahrenFri, February 8, 2019 at 7:43 PM UTC
    • Gemeldet - anzeigen

    Hallo Mirko,

    so habe ich es letztendlich auch gelöst. Wie schon geschrieben, habe ich die Beispieldatenbank 047 ergänzt und als 047_3 hochgeladen.

    Danke und viele Grüße

    Jörg

    • Selbständig
    • Fabian_Wieland
    • vor 5 JahrenTue, January 21, 2020 at 11:05 AM UTC
    • Gemeldet - anzeigen

    Hallo zusammen,

    gibt es eine Möglichkeit, auch die Bearbeitung einer verknüpften Tabelle zu sperren? Die verknüpfte Tabelle soll nur für diesen einen Datensatz gesperrt sein. Sie selbst kann aber weiterhin bearbeitbar sein.

    Hintergrund / Beispiel:

    Ich habe verschiedene Marketing-Kampagnen (Tabelle). Außerdem habe ich Ansprechpartner (Tabelle). Einer Marketing-Kampagne weise ich mehrere Ansprechpartner zu (als verknüpfte Tabelle). Wenn die Kampagne beendet ist, soll sie nicht mehr bearbeitet werden können (Sperren / entsperren). Die Sperre funktioniert aktuell nicht für die Ansprechpartner, also die verknüpfte Tabelle. Lässt sich das ändern?

    Viele Grüße
    Fabian

    • Torsten_Stang.1
    • vor 5 JahrenTue, January 21, 2020 at 5:34 PM UTC
    • Gemeldet - anzeigen

    Hallo Fabian,

     

    Du kannst auch den Feldstatus einer verknüpften Tabelle als Kriterium zur Bearbeitbarkeit heranziehen. Die Tabelle Ansprechpartner lässt Du bearbeitbar, wenn z.B.

     

    'Marketing-Kampagnen'.Sperre = true

     

    'Sperre' wäre in dem Beispiel ein Ja/Nein-Feld in der verknüpften Tabelle 'Marketing-Kampagnen'.

     

    lg, Torsten

    • Admin.3
    • vor 5 JahrenTue, February 11, 2020 at 4:06 PM UTC
    • Gemeldet - anzeigen

    Hallo zusammen,
    ich würde gerne einen "Master-Button" realisieren mit dem ich in allen Datensätzen einer Tabelle "Gesperrt:=true" setzen kann, quasi eine Massendatenänderung auf Knopfdruck. Leider komme ich auf keinen geeigneten Ansatz bzw. keine geeignete Formel. Oder ist dies generell nicht möglich?
    Viele Grüße
    Malte