>>>>WITH this >>>> IF .LoadDE() >>>> .cSQL = .GetSQL() >>>> .cSQLFilter = .GetSQLFilter() >>>> .cSQLOrderBy = .GetSQLOrderBy() >>>> WITH .oDE >>>> .AddAdapter(this.caName, this.caName, .F.,; >>>> this.cSQL, this.cSQLFilter, this.cSQLOrderBy) >>>> ENDWITH >>>> ENDIF >>>> .CreateList() >>>>ENDWITH >>>> >>>> >>>>****************************************** >>>>**-- addadapter method >>>>LPARAMETERS tcName, tcAdapter, tlNoLoad, tcSQL, tcFilter, tcOrderBy >>>>WITH this >>>> .AddObject(tcAdapter, tcAdapter) >>>> IF NOT tlNoLoad >>>> WITH .&tcName >>>> .cBaseSelectCmd = EVL(tcSQL, .cBaseSelectCmd) >>>> .cSelectCmdFilter = EVL(tcFilter, .cSelectCmdFilter) >>>> .cSelectOrderBy = EVL(tcOrderBy, .cSelectOrderBy) >>>> .CursorFill() >>>> ENDWITH >>>> ENDIF >>>>ENDWITH >>>> >>>> >>>>****************************************** >>>>**--GetSQL Method >>>>LOCAL lcText >>>> >>>>TEXT TO lcText NOSHOW PRETEXT 7 >>>> SELECT DISTINCT st.abbr, st.name, ea.state_id, st.default ; >>>> FROM table1 t1; >>>> LEFT JOIN table2 t2 ON t2.record_id = t1.record_id ; >>>> LEFT JOIN table3 t3 ON t3.record_id = t2.record_id ; >>>> LEFT JOIN table4 t4 ON t4.record_id = t3.record_id ; >>>> LEFT JOIN states st ON st.record_id = t4.state_id >>>>ENDTEXT >>>>RETURN ALLTRIM(lcText) >>>> >>>>