22. Februar 2011 14:52
22. Februar 2011 16:00
22. Februar 2011 16:08
22. Februar 2011 16:16
DeineTabelle.SETRANGE(OrderNo,Rec.OrderNo);
DeineTabelle.SETRANGE(ItemNo,Rec.ItemNo);
IF DeineTabelle.FINDLAST THEN BEGIN
Rec.LineNo := DeineTabelle.LineNo + 1;
END ELSE BEGIN
// Es existiert noch kein Eintrag für diese OrderNo / ItemNo
DeineTabelle.RESET; // Alle Filter aufheben
IF DeineTabelle.FINDLAST THEN BEGIN
Rec.LineNo := DeineTabelle.LineNo + 1000;
END ELSE BEGIN
// Es existiert noch gar kein Eintrag in der Tabelle (z. B. neuer Mandant ;-) )
Rec.LineNo := 1000;
END;
END;
22. Februar 2011 16:33
Timo Lässer hat geschrieben:Hallo, die Lösung ist relativ einfach - wenn man sie kennt:
Timo Lässer hat geschrieben: Mit einer zweiten Record-Variablen (welche auf dieselbe Tabelle zeigt), ermitteln wir einfach die nächste LineNo:
Timo Lässer hat geschrieben:
- Code:
DeineTabelle.SETRANGE(OrderNo,Rec.OrderNo);
DeineTabelle.SETRANGE(ItemNo,Rec.ItemNo);
IF DeineTabelle.FINDLAST THEN BEGIN
Rec.LineNo := DeineTabelle.LineNo + 1;
END ELSE BEGIN
// Es existiert noch kein Eintrag für diese OrderNo / ItemNo
DeineTabelle.RESET; // Alle Filter aufheben
IF DeineTabelle.FINDLAST THEN BEGIN
Rec.LineNo := DeineTabelle.LineNo + 1000;
END ELSE BEGIN
// Es existiert noch gar kein Eintrag in der Tabelle (z. B. neuer Mandant ;-) )
Rec.LineNo := 1000;
END;
END;
SETRANGE(OrderNo,Rec.OrderNo);
SETRANGE(ItemNo,Rec.ItemNo);
...
22. Februar 2011 16:42
22. Februar 2011 16:50
SETRANGE("Order No.", Wert."Order No.");
SETRANGE("Item No.", Wert."Item No.");
IF FINDLAST THEN
BEGIN
Wert."Line No." := "Line No." + 1;
END ELSE
BEGIN
RESET;
IF FINDLAST THEN
BEGIN
Wert."Line No." := "Line No." + 10000;
END ELSE
BEGIN
Wert."Line No." := 10000;
END;
END;
22. Februar 2011 17:01
22. Februar 2011 17:16
DeineTabelle.SETRANGE(OrderNo,Rec.OrderNo);
22. Februar 2011 17:25
Wert.SETRANGE(Wert."Order No.", "Order No.");
Wert.SETRANGE(Wert."Item No.", "Item No.");
IF Wert.FINDLAST THEN
BEGIN
"Line No." := Wert."Line No." + 1;
END ELSE
BEGIN
Wert.RESET;
IF Wert.FINDLAST THEN
BEGIN
"Line No." := Wert."Line No." + 10000;
END ELSE
BEGIN
"Line No." := 10000;
END;
END;
22. Februar 2011 17:36
22. Februar 2011 17:51
22. Februar 2011 19:52
25. Februar 2011 12:35
5. September 2019 14:55