LOCAL lcFilter, lcStatus, lcModel, lcSupplierCode, ldBeginDate, ldEndDate, lcSort ldBeginDate = Thisform.cntDateRange.txtBeginDate.Value ldEndDate = Thisform.cntDateRange.txtEndDate.Value lcModel = Thisform.cntComboBoxModel.cbo.Value lcModel = alltrim(lcModel) lcSupplierCode = Thisform.cntSupplierCode.txtMember.Value lcSupplierCode = alltrim(lcSupplierCode) lcPartNumber = Thisform.cntPartNumber.txtMember.Value lcFilter = "" lcSort = "" lcSort = ThisForm.cntSort.cbo.value if not empty(ldBeginDate) .AND. not EMPTY(ldEndDate) if not empty(ldBeginDate) ldBeginDate = ldBeginDate + " 00:00:00 AM" lcFilter = lcFilter + ; "LineCall.DateCreated >= ?ldBeginDate AND " endif if not empty(ldEndDate) ldEndDate = ldEndDate + " 12:59:59 PM" lcFilter = lcFilter + ; "LineCall.DateCreated <= ?ldEndDate AND " endif endif * Build a filter area... if not empty(lcPartNumber) lcFilter = lcFilter + ; "LineCall.PartNumber = ?lcPartNumber AND " endif if not empty(lcModel) lcFilter = lcFilter + ; "LineCall.Model = ?lcModel AND " endif if not empty(lcSupplierCode) lcFilter = lcFilter + ; "LineCall.SupplierCode = ?lcSupplierCode AND " endif if not empty (lcFilter) then lcFilter = "WHERE " + LEFT(lcFilter,LEN(lcFilter)-5) endif * End of Build a filter area... * Use connection and Run code... SQLEXEC(tConnection, 'SELECT * FROM Tally ; &lcFilter ', 'cuLineCall') do case case lcSort = "Line Call Number" index on lognumber to lognumber case lcSort = "Supplier Code" index on SupplierCode to SupplierCode case lcSort = "Part Number" index on PartNumber to PartNumber case lcSort = "QCE Engineer" index on QCEEngineer to QCEEngineer endcaseTom