Hallo,
die ganze
while Schleife kannst Du ersetzen durch
gefunden := datamodule1.Table1.Locate('ARTIKELNUM', rechnungszeile.artikel.Artikelnummer, []);
Dafür, dass kein Update erfolgt kann es mehrere Gründe geben:
- gefunden wird niemals true, weil die Artikelnummer nicht vorhanden ist
- rechnungszeile.artikel.dispaartikel ist false
- rechnungszeile.anzahl ist 0
Hast Du das mal mit dem Debugger durchlaufen lassen, mit einem Breakpoint in dem Edit-Block? Kommt das Programm überhaupt an die Stelle? Welchen Wert hat rechnungszeile.anzahl?