>Can anyone help me with the right syntax for an indexkey that sort the following data:
>cAuktCID cObjectCID nOffer CID
>" 21" " 83" 567.00 " 129"
>" 21" " 83" 567.00 " 126"
>" 21" " 83" 567.00 " 128"
>" 21" " 83" 650.00 " 125"
>
>
>I want it to look like this when it's indexed.
>
> Desc Desc Desc Asce
>" 21" " 83" 650.00 " 125"
>" 21" " 83" 567.00 " 126"
>" 21" " 83" 567.00 " 128"
>" 21" " 83" 567.00 " 129"
>I have tried with this, but i does not work:
>cAuktCID + cObjectCID + STR(nOffer) + STR(VAL(cid)*-1) DESCENDING
>
>The 3 first columns gets sorted right but CID-column always
>ends up in descending order although i use -1 in the calculation.
>What am i missing here ?
How about
cAuktCID + cObjectCID + STR(nOffer) + STR(999999 - VAL(cid)) DESCENDING
Also, when indexing on a character expression, remember that VFP uses fixed length index keys. Unless you force the length of the key in the expression, its length will be based on the first record in the table, with unpredictable results. As it happens, in your case STR() defaults to (forces a) length of 10 since the length is not explicitly specified, but this is probably unnecessarily long, making your .CDX files larger and therefore less efficient than necessary.
Regards. Al
"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov
Neither a despot, nor a doormat, be
Every app wants to be a database app when it grows up