>create cursor foo (f1 N(2),f2 c(2)) >insert into foo values(2,"AA") >insert into foo values(1,"BB") >insert into foo values(2,"AA") >insert into foo values(3,"BB") >insert into foo values(2,"AA") >insert into foo values(3,"BB") >insert into foo values(2,"AA") > >* a FOR have a ALL implicit scope >* f1 have not decimals, VFP format the myvar with f1's decimals ( 0 ) >Average f1 for f2 == "BB" to m.myvar > >?m.myvar && this returns 2 > >?m.myvar*1.00 && this returns 2.33 > >* a WHILE have a REST implicit scope, then you have to declare ALL >* a WHILE _tally < N stop the computation after N match records >Average f1 all WHILE _tally < 1 for f2 == "BB" to m.myvar >?m.myvar*1.00 && this returns 1 >Average f1 all WHILE _tally < 2 for f2 == "BB" to m.myvar >?m.myvar*1.00 && this returns 1 >thanx for ur reply