Direkt zum Hauptinhalt

Duplikate und Doppelbuchungen verhindern

Ziel​

Eine Tabelle zwei Arten von Datensätzen rundweg ablehnen lassen:

  • Duplikate — ein zweites Produkt mit demselben Code, eine zweite Person mit derselben E-Mail.
  • Doppelbuchungen — eine zweite Buchung desselben Raums für eine Zeit, die sich mit einer bestehenden überschneidet, eine zweite Schicht für dieselbe Person zur selben Zeit.

Voraussetzungen​

  • Sie sind mit einer Maker-Rolle angemeldet, und die Lösung der Tabelle ist geöffnet.
  • Für eine Regel ohne Überschneidungen hat die Tabelle zwei Datums- und Uhrzeitfelder: Beginn und Ende des Zeitraums.

Schritte​

  1. Öffnen Sie die Tabelle und wählen Sie in ihrem Menü Einschränkungen.
  2. Fügen Sie eine Regel hinzu:
    • Keine Duplikate — dann wählen Sie das Feld. Die Regel lautet: Keine zwei Datensätze dürfen denselben Wert haben in Code.
    • Keine Überschneidungen — dann wählen Sie die Felder für Beginn und Ende des Zeitraums und, wenn sich Buchungen verschiedener Dinge überschneiden dürfen, das Feld, das sagt, was gebucht ist: Keine zwei Datensätze dürfen sich zeitlich überschneiden, je Raum, von Beginn bis Ende. Lassen Sie das erste Feld auf ganze Tabelle, wenn es nur eine Sache zu buchen gibt.
  3. Wählen Sie Speichern.

Um eine Regel zu entfernen, wählen Sie den Papierkorb am Ende ihrer Zeile und dann Speichern.

Was im Hintergrund geschieht​

  • Die Datenbank setzt diese Regeln durch, nicht das Formular. Sie gelten, wie auch immer ein Datensatz geschrieben wird — im Formular, per Tabellenimport, per Skript, per Prozess —, und sie gelten, wenn zwei Personen im selben Moment speichern: ein Speichern gelingt, das andere wird abgelehnt. Eine Prüfung in einer Geschäftsregel kann das nicht zusichern, weil beide Speichervorgänge „noch nichts da“ lesen können, bevor einer schreibt.
  • Ein Datensatz mit leerem Feld ist kein Duplikat. Beliebig viele Datensätze dürfen ein eindeutiges Feld leer lassen. Muss das Feld auch ausgefüllt werden, machen Sie es zusätzlich erforderlich.
  • Aneinandergrenzende Zeiträume überschneiden sich nicht. Eine Buchung, die um 10:00 endet, und eine, die um 10:00 beginnt, sind beide erlaubt.
  • Wer speichert, erfährt, welche Regel verletzt wurde. Ein abgelehntes Speichern sagt, dass der Wert in diesem Feld schon verwendet wird oder dass sich der Zeitraum mit einem anderen überschneidet, und es wird nichts gespeichert.
  • Die Regeln reisen mit der Lösung und werden in jeder Umgebung durchgesetzt, in die die Lösung importiert wird.

Wenn vorhandene Datensätze die Regel bereits verletzen​

Eine Regel lässt sich nur hinzufügen, wenn die vorhandenen Datensätze sie einhalten. Teilen sich bereits zwei Produkte einen Code, wird das Speichern einer Regel Keine Duplikate auf Code mit einer Meldung abgelehnt, die das Feld nennt, und die Tabelle behält ihre bisherigen Regeln. Ihre Regel bleibt auf dem Bildschirm: Korrigieren Sie die Datensätze und wählen Sie erneut Speichern.

Problembehandlung​

  • Die Auswahllisten für den Zeitraum sind leer. — Die Tabelle hat keine eigenen Datums- und Uhrzeitfelder. Fügen Sie zuerst die Felder für Beginn und Ende hinzu.
  • Ein gewünschtes Feld wird nicht angeboten. — Dateien, Bilder und Nachschlagefelder auf mehrere Tabellen können nicht Teil einer Regel sein: Sie enthalten keinen einzelnen vergleichbaren Wert. Plattformfelder wie Erstellt am werden ebenfalls nicht angeboten.
  • Eine entfernte Regel lehnt scheinbar weiterhin ab. — Prüfen Sie, ob Sie nach dem Entfernen Speichern gewählt haben; die Liste wird als Ganzes gespeichert.

Verwandte Szenarien​