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>>>
>>>>>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()? >>>>>>>> >>>>>>>>>>>>>>>>