[gelöst] Zeilen durchlaufen und auf Duplikate prüfen

10. November 2017 09:05

Guten morgen zusammen,

ich möchte in einer bereits gefilterten Ansicht einer Tabelle ein bestimmtes Feld auf Duplikate prüfen und entsprechende Duplikate als Rückmeldung an den Nutzer zurückgeben.
Sind keine Duplikate vorhanden ist alles schön. Beispiel:

Spalte x Spalte y

1 Auto
2 Fahrrad
3 Bus
4 Flugzeug
4 Flugzeug
5 Zug

In der Tabelle ist nun Zeile vier doppelt und soll entsprechend als Rückmeldung zurückgegeben werden. Über einen Button auf der Page soll diese Aktion durchgeführt werden. Ich bereits einige Ansätze versucht,..
FOR Schleife/Repeat until Schleife... aber irgendwie komme ich nicht zum gewünschten Ergebnis.

Ich würde mich freuen wenn mir hier jemand helfen könnte...
Danke vorab und einen guten Start in den Tag ;)
Zuletzt geändert von besi22 am 20. November 2017 12:26, insgesamt 1-mal geändert.

Re: Zeilen durchlaufen und auf Duplikate prüfen

10. November 2017 09:51

Code:
// Beim ersten gefundenen Duplikat wird abgebrochen
REPEAT
  DeineTabelle.SETRANGE("Spalte x", Rec."Spalte x");
  DeineTabelle.SETRANGE("Spalte y", Rec."Spalte y");
  DuplikatGefunden := DeineTabelle.Count > 1
UNTIL NEXT = 0 OR DuplikatGefunden;


Code:
// Die gefunden Duplikate werden in eine temporäre Tabelle geschrieben
REPEAT
  DeineTabelle.SETRANGE("Spalte x", Rec."Spalte x");
  DeineTabelle.SETRANGE("Spalte y", Rec."Spalte y");
  IF DeineTabelle.Count > 1 THEN
    FunktionSchreibeInTempTabelle(DeineTabelle);
UNTIL NEXT = 0;

ZeigeFensterMitTemporärenDatensätzen

Re: Zeilen durchlaufen und auf Duplikate prüfen

10. November 2017 11:48

Hallo und danke.
Habe es ein wenig anders gelöst-

Wenn ich nun die Duplikate vorliegen habe, wie kann ich den Feldnamen abgreifen?
Also so, dass in einer Error-Message nicht nur die Nummer steht sondern auch der Feldname?

Re: Zeilen durchlaufen und auf Duplikate prüfen

10. November 2017 11:57

Code:
FIELDCAPTION()