Re: AMbasic Czy wystarczy raz ustawić klucz przed pętlą
Teoretycznie można i robi tak też Sage w swoich raportach
Przykład, który od czasu do czasu wysypuje się komunikatem, że w klucz
magazyn nie zawiera pola
idtw. Mimo, że ustawiony klucz to
towar.
Kod:
int err = SetTaggedPos(FS)
baseTW tw
baseSM sm
sm.SetKey("towar")
while err
tw.GetRecById(GetLineId(err))
sm.SetKeySeg("idtw", tw.GetField("id"))
sm.SetKeySeg("magazyn",0)
sm.GetRec(EQ)
print tw.GetField("kod"), sm.GetField("stanhandl"),lf
err = SetTaggedPos(NX)
wend
Tak więc lepiej jest trzymać ustawianie klucza i wypełnianie jego wartości razem
Kod:
int err = SetTaggedPos(FS)
baseTW tw
baseSM sm
while err
tw.GetRecById(GetLineId(err))
sm.SetKey("towar")
sm.SetKeySeg("idtw", tw.GetField("id"))
sm.SetKeySeg("magazyn",0)
sm.GetRec(EQ)
print tw.GetField("kod"), sm.GetField("stanhandl"),lf
err = SetTaggedPos(NX)
wend