Irgendwo habe ich diesen interessanten Satz gelesen: „Man sollte alles so einfach, wie möglich machen. Nur nicht einfacher.“

Der kam mir wieder in den Sinn, als ein Kunde mich fragte, wie man am einfachsten eine Dublettenkontrolle in Intrexx gestaltet. Dafür gibt es diverse Möglichkeiten, die fast alle eines gemeinsam haben: Sie sind nicht eben trivial.

Die Möglichkeit, die ich jedoch hier kurz skizzieren möchte, ist genau dies:

- Sie erstellen auf der Seite, auf der die Kontrolle durchgeführt werden soll, eine Tabelle, die mit einer Abhängigkeit daraufhin gefiltert wird, dass ein bereits vorhandener Datensatz darin aufgezeigt wird. Diese Tabelle wird im Livebetrieb in den versteckten Bereich verschoben. Die Abhängigkeit wird sinnvollerweise durch die Schaltfläche zum Speichern ausgelöst, es können aber Situations-bedingt auch andere Auslöser in Frage kommen.

- Per JavaScript zählen Sie die Anzahl der angezeigten Datensätze – ist diese Anzahl größer Null, liegt eine Dublette vor und Sie können eine Meldung ausgeben, die Schaltfläche zum Speichern deaktivieren und das Script mit return false beenden. Wenn nicht, geht es mit return true normal weiter.

- Das Script wird aufgerufen durch die Abhängigkeit, wo Sie beim auslösenden Event onmatch das Script eintragen.

- Fertig!

Die Nachteile möchte ich nicht verschweigen: Dadurch, dass das Script zur Laufzeit im Browser abgearbeitet wird, kann das mit etwas technischem Geschick ausgehebelt werden. Und bei Adressen sind die Regeln für Dubletten nicht ganz so einfach definiert – hier kann es sinnvoll sein, nur die Meldung auszugeben und auf die Deaktivierung des Speichervorgangs zu verzichten.

Doch das halte ich für vernachlässigbar. Denn wie gesagt – man sollte alles so einfach machen, wie möglich...