* Some method of form local myStartDate, myEndDate local oCargo * This method could access ThisForm.txtCustomerFrom.Value * thus report itself could directly access and use it too myStartDate = date(year(date()),1,1) myEndDate = date() oCargo1 = NewObject('relation') oCargo1.Addproperty('myProperty1','myValue') oCargo1.Addproperty('minAmt',100) oCargo1.Addproperty('maxAmt',1000) oCargo1.Addproperty('selectedCustId',thisform.selcustlist.value) oCargo1.Addproperty('arrayProducts[1]','') select ProductName ; from mytable ; where mySelectionCriteriaForReport ; into array oCargo1.arrayProducts * And yet another cargo object create cursor rptCargo ; (StartCust i, EndCust i, dFrom d, dTo d, RevMin y, RevMax y) insert into rptCargo values ; (1,100,{^2002/07/01},{^2002/07/31},1000,2000) scatter name oRptCargo use in 'rptCargo' * create the cursor for report select .... report form ... * From within Report now u can use all of the above in field expr. - like : Customers from < ThisForm.txtCustomerFrom.Value > to < oRptCargo.EndCust > Report date from < m.myStartDate > Report filtered values from < oCargo1.minAmt > *etc.Cetin