>INDEX ON STR(999999999 - Field1) + Field2 + Field3 TAG MyTag
>You'll need to adjust the STR function to handle decimals.
Yep, and if you ever want to decend part of a character field, this should do it (call this code form your index):
lparameters tcString
local lcString, lnI
lcString = ''
for lnI = 1 to len(alltrim(tcString))
lcString = lcString + chr(255 - asc(substr(tcString, lnI)))
endfor
return lcString