>>dbsetprop("cConnName","connection","asynchronous",.t.) >>cursorsetprop("FetchSize", 50, 0) >>cursorsetprop("MaxRecords", 50, 0) >>cursorsetprop("FetchAsNeeded", .t., 0) >>* assume this query takes 10+ seconds to run, I want to display >>* the grid at once with the first 50 rows and 'fetch' the remaining data >>* in the background. >>nLocID = 12345 >>cSQL1 = "select "+; >> "a.itemid,b.locname,a.yearweek,c.skustat, d.itemname, e.supplier "+; >> "from "+; >> "dailysales a, locs b, sku c,items d, suppliers e "+; >> "where "+; >> "a.locid=b.locid "+; >> "and a.itemid=c.itemid and a.locid=c.locid "+; >> "and a.itemid=d.itemid "+; >> "and d.suppid=e.suppid "+; >> "and a.locid=?nLocID " >>create sql view (cViewName1) remote connection (cConnName) shared as &cSQL1 >>use (cViewName1) in 0 alias (cViewAlias1) >>* will VFP continue processing the following lines of code >>* even before all the records in cViewName1 are "fetched". >>* this is just a view that will be a "child" of the current record of the above view. >>create sql view (cViewName2) remote connection (cConnName) shared as &cSQL2 >>use (cViewName2) in 0 alias (cViewAlias2) nodata && note: nodata keyword >>>>