JacekBomba pisze:
rafal pisze:
Kod:
string currentRow
basebd basBD
basBD.SetKey("rozliczone")
basBD.SetKeySeg("oki", 0)
Int errBD=basBD.GetREc(GE)
while !errBD && basBD.GetField("oki") == 0
currentRow = "zamowienie"
currentRow += ";" + basBD.GetField("kod")
Print currentRow + LF
errBD=basBD.GetREc(NX)
Wend
To po co zakladac indeks, skoro i tak przechodze przez wszystkie rekordy i 'recznie sprawdzam' rekordy?
Nie przechodzisz przez wszystkie rekordy, tylko ustawiasz się na nie rozliczonych (oki = 0) i biegasz po tych rekordach, do czasu aż nie trafisz na wartość oki != 0 - wtedy pętla While się kończy bo warunek w tej pętli jest nie spełniony. Warunek to oki = 0 nie będzie spełniony, jeżeli trafisz na zamówienia rozliczone i wtedy wypadasz z pętli.
Kod Rafała jest tutaj jak najbardziej poprawny - minimum operacji do uzyskania oczekiwanego przez Ciebie efektu