select PKValue from yourtable ; where your_filter ; order by YourOrder ; into cursor tmpCursor ; nofilter use dbf("tmpCursor") in 0 again alias NumberProvider use in "tmpCursor" select NumberProvider index on PKValue tag Linker select (yourgrid.recordsource) set relation to PKValue into NumberProvider yourgrid.columns(n).controlsource = recno("NumberProvider")You could do this with an array in case your table reccount() would always be <= 65000 (use only PK then and issue ascan()).