0

Doppelte Einträge erkennen

Doppelte Einträge erkennen

7 Antworten

null
    • Haefi
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo zusammen

    Ich möchte gerne, dass eine Spalte indiziert wird, bzw. ich keinen doppleten Einträge erfassen kann.

    Ich habe eine Spalte ArtikelNummer, wenn ich dort einen Eintrag mache und es diesen schon gibt, möchte ich entweder darauf aufmerklsam gemacht werden, dass es diesen Eintrag schon gibt. Leider habe ich es bis jetzt nicht hingekriegt.

    Es reicht eine Spalte zu prüfen. Ich könnte die Spalte aud indizieren, so wie im SQL oder so aber ich weiss nicht wie das hier geht.

    Danke für Eure Hilfe

    lg Adrian

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Adrian,

    du kannst einen Trigger nach Änderung bei der Spalte ArtikelNummer schreiben:

    ---

    let myART := ArtikelNummer;
    if cnt((select 'DEINE TABELLE')[ArtikelNummer = myART]) > 1 then
    alert("Achtung, diese Artikelnummer existiert bereits");
    ArtikelNummer := null
    end

    ---

    In der App kriegst du bei Duplikaten eine Warnmeldung und die Artikelnummer wird gelöscht. In Web-Version werden momentan keine Warnungen ausgegeben, deswegen wird nur die Artikelnummer gelöscht.

    Grüße

    Leo

    • Haefi
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Leo

    Super! genau das was ich gesucht habe.

    Es funktioniert perfekt.

    Vielen Dank

    lg Adrian

    • Falk_Schmidt
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Super Tipp, vielen Dank.

    Erweiterte Frage: Ich würde das gern mit kombinierten Text-Feldern machen.

    Szenario:

    Felder: Vorname und Name

    Daraus wird ein Feld NameGesamt berechnet: text(Vorname) + " " + text(Name)

    Der Wert soll verglichen werden analog des obigen Beispiels bei ArtikelNummer.

    Also:

    let CONT := NameGesamt;
    if cnt((select 'Kontakte')[NameGesamt = CONT]) > 1 then
    alert("Achtung, dieser Kontakt existiert bereits");
    NameGesamt := null
    end

     

    Meldung: "Die Tabellenspalte ist kein einfaches Datenfeld"

    --> Wie könnte man das umgehen?

     

    Danke vorab,
    Falk

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Falk,

    let CONT := Vorname + " " + Name;
    if cnt((select 'Kontakte')[Vorname + " " + Name = CONT]) > 1 then
    alert("Achtung, dieser Kontakt existiert bereits");
    Vorname := null;

    Name:=null
    end

     

    Leo

    • Falk_Schmidt
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Ich hab zu kompliziert gedacht ;-)

     

    1000 Dank, @Leo

    • anonyml
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Dieses Forum ist klasse. 
    durch euch kann man echt was lernen. Danke an alle die mithelfen.