You can always use expressions in your index. For example, if your numeric field is say, 10 characters wide, then you can
index on Padl(numericfld, 10) + chrfld1 + chrfld2
And then do your seek the same way. Convert the numeric var and append the 2 character variables to do the seek.
Seek Padl(nVar, 10) + cVar1 + cVar2
Alan
>Ok, my problem is that I have to move the pointer to a certain a record
>in a table depending on the values of three fields (1 numeric, 2
>characters). Now, I've only used seek in cases where the expression
>is very simple (just one field).
>My questions are: can I use seek in this case? what would be the
>expressions of the index and the seek command? If this is impossible
>with seek, can I use locate instead and use an index to speed the process?
>what would be the expressions for this case?
>which one is faster locate or seek?
>
>one more question, can I use locate recursively? something like this:
>
> locate for field=var1
> do while found()
> if field2='ncc'
> this.method_Using_LocateDoWhile_with_same_table(var2)
> endif
> enddo
>
>
>TIA