LOCAL m.loQuery, m.lnBefore, m.lnAfter, m.lcResult m.loQuery = CREATEOBJECT('sesCustomQuery') *m.lnBefore and m.lnAfter are just here to show zero *effects from running the query. m.lnBefore = AUSED(laBefore) m.lcResult = m.loQuery.ReturnValueFromQuery() m.lnAfter = AUSED(laAfter) ?m.lnBefore,m.lnAfter,m.lcResult RETURN DEFINE CLASS sesCustomQuery as Session DataSession = 2 PROCEDURE ReturnValueFromQuery SELECT TOP 1 cust_id FROM (HOME()+"SAMPLES\DATA\CUSTOMER.DBF") CUSTOMERS ORDER BY cust_id INTO CURSOR temp RETURN temp.cust_id ENDPROC ENDDEFINE>Yes, this method will work better as the first one was closing all open tables. Thank you very much.
>>AUSED(laCurrAliases) >> >>*-- Execute a Sql Select that opens one or more tables >>*** select * from mytable1 join mytable2 .. join mytable3.. etc. >> >>lnallAliases = AUSED(laArr) >> >>FOR lnLoop = 1 TO m.lnallAliases >> IF ASCAN(laCurrAliases,m.laArr[m.lnLoop,1])# 0 >> LOOP >> ENDIF >> USE IN (m.laArr(m.lnLoop,1)) >>NEXT >>>>
*-- bookmark selected area >>>>lcSelect = ALIAS() >>>> >>>>*-- Execute a Sql Select that opens one or more tables >>>>*** select * from mytable1 join mytable2 .. join mytable3.. etc. >>>> >>>>lnOpenDbfs = AUSED(laArr) >>>> >>>>FOR lnLoop = 1 TO m.lnOpenDbfs >>>> >>>> IF m.laArr[m.lnLoop,1] = m.lcSelect >>>> LOOP >>>> ENDIF >>>> >>>> USE IN (m.laArr(m.lnLoop,1)) >>>>NEXT>>>>
>>>>>*-- bookmark selected area >>>>>nSelect = select() >>>>> >>>>>*-- Execute a Sql Select that opens one or more tables >>>>>select * from mytable1 join mytable2 .. join mytable3.. etc. >>>>> >>>>>*-- Close all tables opened in the above SQL Select. >>>>> >>>>>*-- I believe I need to know the highest SELECT() at this >>>>>point and scan it backwards until coming to nSelect. >>>>>But how to determine currently highest SELECT()? >>>>> >>>>>>>>>>