|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от e-statik
2 romeo:
А если нужно иметь возможность править записи, а не только смотреть? Ещё кучу тригеров переписать, я правильно понимаю? |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от romeo
Я говорю про форму, построенную на нормальной, не временной таблице.
![]() |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от e-statik
Цитата:
Сообщение от romeo
Я говорю про форму, построенную на нормальной, не временной таблице.
![]() <div class='CALtop'>C/AL</div><div class='CAL'> OnFind Exit(FormFind(Which)); OnNext exit(FormNext(Steps)); FormFind(Which : Text[1024]) : Boolean lrec.COPY(Rec); IF NOT lrec.FIND(Which) THEN EXIT(FALSE); IF Which='+' THEN li:=-1 ELSE li:=1; WHILE NOT CheckFindRec(lrec) DO BEGIN lii:=lrec.NEXT(li); IF lii=0 THEN EXIT(FALSE); END; Rec:=lrec; EXIT(TRUE); FormNext(Steps : Integer) : Integer lrec.COPY(Rec); lrec:=Rec; li:=0; CASE TRUE OF Steps>0:li:=1; Steps<0:li:=-1; END; lRealStep:=0; REPEAT lii:=lrec.NEXT(li); IF lii=0 THEN EXIT(lRealStep); IF CheckFindRec(lrec) THEN BEGIN lRealStep:=lRealStep+li; Rec:=lrec; END; UNTIL lRealStep=Steps; EXIT(lRealStep); </div> функция CheckFindRec возвращает TRUE для записей удовлетворяющих условию Недостаток такого подхода - если интервал между записями удовлетворяющими условию достаточно большой, то будет ощутимое замедление вывода записей |
|