0

Bitte um Hilfe bei 'doppelte Einträge anzeigen lassen'

Hallo zusammen,

 

ich brauche mal wieder Eure Hilfe.

Hierzu habe ich eine kleine TestDB zur besseren Erklärung angefügt.

 

In Tabelle Kunde A habe ich ein Script, welches doppelte Einträge anzeigt. Falls ein Datensatz doppelt gefunden wird, kann kann ich den neu erstellten Datensatz enweder löschen lassen oder mir den bereits erstellten Datensatz anzeigen lassen. Soweit so gut.

In einer zweiten Tabelle Kunde B, möchte ich Felder nach Kunde A übertragen. Auch hier greift das Script aus Tabelle Kunde A, falls es einen doppelten Eintrag gibt.

Allerdings, wenn ich auf im DialogFenster auf Anzeigen klicke, wird mir der dopplete Eintrag angezeigt und auch neu erstellt (was wohl am Script im Button liegt?).

 

Gibt es eine Möglichkeit, dass das nicht passiert? Ich meine, dass der Datensatz dann nicht erstellt wird? Ich habe einiges versucht, zB das Script an anderer Stelle zu platzieren, aber leider ohne Erfolg.

 

Hat jemand eventuell eine Idee dazu?

 

Vielen Dank schon mal.

 

Gruß Kruna

4 Antworten

null
    • mirko3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hi Kruna. Ich empfehle Dir beim Duplikatsvergleich alle! Felder einzubeziehen, denn wenn in zwei Orten die Strasse und Anzahl identisch sind, wird es in Deinem Fall eine Duplikatserkennung geben. Demzufolge würde ich das Triggerscript im Feld "Straße" erweitern und in das Feld "Ort" legen. Besser finde ich persönlich das Suchen nach Duplikaten und kennzeichnen dieser in einem Textfeld. Hier werden dann wirklich nur die Duplikate angezeigt und nicht auch die Originale. Ich habe mal Deine Tabelle zum testen verändert. Mirko

    • Kruna
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hi Mirko,

    velen Dank für Deine Hilfe und entschuldige, dass ich mich jetzt erst melde, aber ich war die ganze Woche heftigst ausser Gefecht. Nichts ging mehr! Heute ist der erste Tag, an dem ich halbwegs wieder unter den Lebenden bin.

    Ich habe mir gerade Deine DB angeschaut. Also die Idee, Ort mit einzubinden, werde ich auf jeden Fall übernehmen, da hast Du natürlich recht und danke dafür.

    Wenn ich in der zweiten Tabelle 'Kunde B' auf Duplikatsvergleich und/oder Neuanlegen klicke, dann zunächst der Dialog von Feld 'Strasse' aus Tabelle Kunde A auf und es wird trotzdem ein Duplikat angelegt, was ich dann ggf. durch Duplikate kennzeichen abfragen kann und dann eben auch löschen. Ist ja auch ok.

    Die Frage ist, ob es auch möglich ist, dass wenn ich in der zweiten Tabelle 'Kunde B' auf Duplikatsvergleich und/oder Neuanlegen klicke, das Duplikat erst gar nicht angelegt wird (wenn es dann erkannt bzw gefunden wird)?

     

    Gruß Kruna

    • mirko3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hi Kruna. Schön, daß Du wieder auf dem Damm bist. Im Button Duplikatsvergleich und/oder Neuanlegen habe ich einen Fehler eingebaut. Es muss > 0 und nicht > 1 heißen. Hier ist der korrigierte Code. Gruß Mirko

    let anzahl := this.Anzahl;
    let strasse := this.'Straße';
    let plz := this.PLZ;
    let ort := this.Ort;
    if cnt((select 'Einnahmen-Ausgaben')[Anzahl = anzahl and 'Straße' = strasse and PLZ = plz and Ort = ort]) > 0 then
        alert("Duplikat")
    else
        (create 'Einnahmen-Ausgaben').(
            Anzahl := anzahl;
            'Straße' := strasse;
            Ort := ort;
            PLZ := plz
        )
    end;
    openRecord(last((select 'Einnahmen-Ausgaben')[Anzahl = anzahl and 'Straße' = strasse and PLZ = plz and Ort = ort]))
    
    • Kruna
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hi Mirko,

    danke für die netten Worte! :-)

    Jetzt hat es geklappt und das auch noch wie am Schnürchen!

    Ich danke Dir vielmals für Deine Hilfe und wünsche noch ein angenehmes Wochenende.

     

    Gruß Kruna