Datensatz sperren
Ninox Profile

Danke, Birger.

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

M

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

Ninox Profile

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

Ninox Profile

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

Ninox Profile

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

M

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

Ninox Profile

entweder wirklich ALLE Datensätze in einer Tabelle

For i in [Tabelle] do
  Gesperrt := true
end

oder nur mit einer Bedingung eingegrenzte Datensätze

for i in select [Datenbank] where [Feld] = [Bedingung] do
  Gesperrt := true
end

 

 

M

Hallo Dirk,
danke für die Rückmeldung. Wenn ich im Formeleditor zu schreiben beginne "for i in ..." schlägt mir die Auto-Vervollständigung lediglich Namen von Tabellenspalten vor. Wenn ich den Tabellenname schreibe bekomme ich die Fehlermeldung "Tabellenspalte wurde nicht gefunden". Mit select Tabellenname scheint es zu funktionieren, mit und ohne "where ...". Aber es wird jeweils nur im aktuell geöffneten Datensatz die Änderung vorgenommen, nicht in der gesamten Tabelle.
(Meinst du im zweiten Beispiel tatsächlich [Datenbank] oder auch [Tabelle]?)
VG Malte

M

So hat es geklappt, ein "i." hat gefehlt:

for i in select [Tabelle] where gesperrt != true do
  i.(gesperrt := true)
end

Ninox Profile

ja sorry, natürlich das i. vor dem Feldnamen habe ich vergessen.

Reply