Michael: Your code will only find the first occurrence and update that. If there are multiple records matching the locate condition, you have to place the seek inside a loop...
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of MB Software Solutions Sent: Thursday, September 14, 2006 10:04 AM To: [email protected] Subject: Re: Using a seek instead of a locate [EMAIL PROTECTED] wrote: >How can I duplicate the following code using the seek command: > >SCAN > SELECT Invoice > LOCATE FOR in_code = lnCustCode > DO WHILE FOUND() > do some code > CONTINUE > ENDDO > SELECT sometable > ENDSCAN >The is extremely slow as this codes is already in another loop and >therefore a locate for the whole table is execute each time. > >Thanks in advance. > > Assuming there's an index on the Invoice.in_code field, how about this: scan lnCustCode = SomeTable.CustCode if seek(lnCustCode,"invoice","in_code") then * do your true code endif endscan -- Michael J. Babcock, MCP MB Software Solutions, LLC http://mbsoftwaresolutions.com http://fabmate.com "Work smarter, not harder, with MBSS custom software solutions!" [excessive quoting removed by server] _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/profox OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.

