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