>create cursor foo (f1 N(2),f2 c(2)) 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") insert into foo values(3,"BB") insert into foo values(2,"AA") LOCATE && <------------------------------------------------- add this here Average f1 next 2 for f2 = "BB" to m.myvar ? myvarthis returns 3 as expected you forgot the locate