Funktion für Wert in nächster Zeile

Schönen guten Tag,

Ich möchte eine cond Funktion verwenden, die kontrolliert ob der Wert in Zeile i+1 der Zeile i entspricht. Existiert eine Funktion die den Wert der Zeile i+1 lesen kann?
(Vergleichbar mit der Funktion Previous())

Vielen Dank im voraus.
Mit freundlichen Grüßen

Hi Filipe willkommen im LL Forum, viel Spaß hier :wink:
Folgende Idee, hierzu brauchst aber mindestens die Version 26, Sprichwort Mehrpassverfahren. (Ich habe mal die Beispielanwendung verwendet)

Benötigt wird:
-SetVar und GetVar Funktionen
-CurrentDatalineIndex()
-Mehrpassverfahren, Anzahl der Druckdurchläufe und nur letzten Druck anzeigen.

Setze mittels SetVar eine virtuelle Variable mit dem Namen des aktuellen LineIndexes (siehe Bild)

Erstelle deine If Abfrage mittels GetVar (siehe Bild)

Stelle die Druckdurchläufe und die Ausgabe ein (siehe Bild)

Resultat in der Beispielanwendung:

p.s. wenn du in der Funktion SetVar den letzten Parameter auf false setzt, wird es nur gespeichert und nicht angezeigt :wink:

Folgend noch ein Link zum Mehrpassverfahren.

Schau mal ob das etwas ist womit du arbeiten kannst, viel Erfolg.

3 Likes

Hallo Erdal,

Vielen Dank für die sehr schnelle Antwort!

Leider habe ich nur die Version 25 zur Verfügung. Existiert eine andere Lösung? Im Artikel steht ja nur, dass keine einfache Lösung existiert hat :sweat_smile:

HI, schade, hmm eventuell könntest du ja zwei Tabellen verwenden, einmal die Datengebundene, welche die Daten enthält, dort machst du das mit dem SetVar, die Tabelle ziehst du außerhalb des Layouts (damit die nicht gedruckt wird), oder mal Datenzeilen auf unterdrücken setzen, eins von Beiden.

Die zweite Tabelle ist dann eine “freie Tabelle” welche deine Infos welche mit SetVar gespeichert worden druckt, hier kannst du ja dann alles mittels GetVar ausgeben was vorher mit SetVar gespeichert wurde.

Wichtig!
Die freie Tabelle muss natürlich zeitlich danach gedruckt werden, also im Berichtscontainer nach der ersten :wink:

Versuch mal :slight_smile: hoffe es klappt.

1 Like

Guten Morgen Erdal,

Vielen Dank für deinen Lösungsvorschlag.
Leider hat sich ein weiteres Problem aus dieser Lösung ergeben.

In meiner zweiten Liste sollen nur noch einzelne Werte ausgedruckt werden, so dass der Index der vollständigen Liste nicht mehr dem Index der Teilliste entsprechen. Deswegen bekomme ich es nicht hin die richtigen Werte miteinander zu vergleichen. Bsp.:

Tabelle 1
Index…Wert
1…2
2…2
3…3
4…2
5…1
6…3

Tabelle 2 (nur für Wert = 2)
Index…Wert
1…2
2…2
3…2

Wenn ich jetzt in der Tabelle 2 den Wert in Zeile 4 und 5 der Tabelle 1 miteinander vergleichen möchte funktioniert die Funktion CurrentDataLineIndex() ja nicht mehr.

Hast du hierfür vielleicht einen Lösungsvorschlag?

Falls die Fragenstellung nicht ganz klar ist, dann ganz gerne nachfragen.

Hi Filipe, ist der Wert “2” hier statisch oder dynamisch, also variabel (mal 2, mal 4 usw.)