Can you use seek?
if seek(uPrimaryKeyValueToLookUp, lcAlias, lcForeigKeyName)
otherwise try:
lcTest = lcAlias+"."+ lcForeigKeyName
locate for &lcTest = uPrimaryKeyValueToLookUp
>I have a data access class with the following line of code:
>
>locate for eval(lcalias + '.' + lcForeignKeyName) = uPrimaryKeyValueToLookUp
>
>lcAlias is 'p1', lcForeignkeyName is 'stock_id'
>there is an index on stock_id (alone)
>
>There are 14K rows in the table. Sometimes this locate executes in an instant, and other times takes 7 or 8 seconds. I don't understand why it won't always use Rushmore/find the record immediately, and I have yet to determine what is different in the case where it doesn't execute in an instant.
>
>Does the eval() play any role/hinder Rushmore ?
>
>TIA
If it's not broken, fix it until it is.
My Blog