25. November 2009 16:08
number := 0;
IF Customer.FIND('-') THEN
REPEAT
IF Customer."No."="Cust. Ledger Entry"."Customer No." THEN
number := number - 1 ELSE number := number + 1 ;
UNTIL Customer.NEXT = 0;
MESSAGE('Es gibt %1 Kunden ohne Wertposten',number);
25. November 2009 16:18
25. November 2009 17:05
number := 0;
IF "Cust. Ledger Entry".FIND(Customer."No.") THEN
REPEAT
IF Customer."No." <>"Cust. Ledger Entry"."Customer No." THEN
number := number + 1 ;
UNTIL Customer.NEXT = 0;
25. November 2009 17:25
if Customer.find('-') then repeat
CustLedgerEntry.SetRange("Customer No.",Customer."No.");
if not CustLedgerEntry.find('-') then
AnzahlKundenOhnePosten+=1;
until Customer.next=0;
25. November 2009 17:30
25. November 2009 18:02
CustLedgerEntry.SETCURRENTKEY("Debitorennr.",Währungscode,Buchungsdatum);
if Debitor.FINDSET then BEGIN // FINDSET, statt FIND('-')
repeat
CustLedgerEntry.SetRange(("Debitorennr.",Debitor."Nr.");
IF CustLedgerEntry.ISEMPTY THEN // ISEMPTY arbeitet ohne Cursoranfragen!
AnzahlKundenOhnePosten+=1;
until Debitor.next=0;
END;
25. November 2009 18:48
25. November 2009 19:39
Natalie hat geschrieben:Da vermutlich viele (>500) Datensätze gefunden werden, würde ich hier FIND('-') statt FINDSET nehmen.
25. November 2009 19:46
Timo Lässer hat geschrieben:Natalie hat geschrieben:Da vermutlich viele (>500) Datensätze gefunden werden, würde ich hier FIND('-') statt FINDSET nehmen.
Abgesehen davon gibt es unter 3.x die Befehle FINDSET, FINDFIRST und FINDLAST noch nicht.
(Diese wurden erst mit Version 4.0 SP1 eingeführt.)