>The main problem, pared down, is that the "table" is explicitly referenced in many locations. Also, this table is available for users to reference in what we call "custom operators". So, when they need a value, they use "Table.Field". We can't tell our user base to go through and change "Table.Field" to "m.Field" -- it simply won't work. We've had to live with this and have accepted that there is nothing we can do about it. This is the first time it has hurt us in a decade and a half.
Probably you didn't see what I mean before. Say your cursorname is aliased as "xx" and they would use "xx.yy". You could do this:
use dbf("xx") in 0 again alias "zz"
scatter name xx memo && you said it was a single record
use in "xx"
Now xx.yy is your object's yy property.
xx.yy = "new value" && set
lcNewValue = xx.yy && get
select zz
gather name xx memo && final replace if there is ever a need
xx.yy syntax (where xx is an object) is also valid for controlsources, update/select/delete-sql statements etc.
Cetin