CREATE CURSOR Cursor1 ( Field1 c(10), Field2 c(10)) INSERT INTO Cursor1 VALUES ('001', '') INSERT INTO Cursor1 VALUES ('002', '') INSERT INTO Cursor1 VALUES ('003', '') INSERT INTO Cursor1 VALUES ('004', '') INSERT INTO Cursor1 VALUES ('005', '') CREATE CURSOR RCursor ( Field1 c(10), Field2 c(10)) INSERT INTO RCursor VALUES ('001', 'AAA') INSERT INTO RCursor VALUES ('002', 'BBB') *INSERT INTO RCursor VALUES ('003', '') INSERT INTO RCursor VALUES ('004', 'DDD') INSERT INTO RCursor VALUES ('005', 'EEE') SELECT Cursor1 <b>REPLACE ALL Field2 WITH LOOKUP(RCursor.Field2, Cursor1.Field1, RCursor.Field1)</b>HTH
>>UPDATE Cursor1 ; >> SET Field1=Field1 ; >> WHERE Field1 in (select field1 from RCursor)>>It appears to do what you need and that is update all records in Cursor1 with a matching record in RCursor. Unless you are running an internal function that updates something in RCursor during the Update statement, I don't think you need it.
>>>CREATE CURSOR Cursor1 ( Field1 c(10) ) >>>INSERT INTO Cursor1 VALUES ('HLADU' ) >>>INSERT INTO Cursor1 VALUES ('POOD') >>> >>>CREATE CURSOR RCursor ( Field1 c(10) ) >>>INSERT INTO RCursor VALUES ( 'HLADU' ) >>>INDEX ON Field1 TAG T >>> >>>SELECT Cursor1 >>>SET RELA TO Field1 INTO RCursor >>> >>>UPDATE Cursor1 ; >>> SET Field1=Field1 ; >>> WHERE !EOF('RCursor') AND ; >>> Field1 IN (SELECT Field1 FROM RCursor ) >>>* Result: 0 >>>* Expected result: 1 >>>messagebox( STR(_TALLY) ) >>>