 Subject Re: Calculated field and Query From Mervyn Bick Date Tue, 11 Dec 2018 08:53:34 +0200 Newsgroups dbase.getting-started On 2018-12-10 8:30 PM, Tim Ward wrote: > On 10/12/2018 12:26, Dirk wrote: >> so i have to find a way to loop the info > > Hi Dirk, >      If I wanted to mix table fields and calculated values into excel > I'd use something like the loop below. Doing this way you don't need to > have the table fields in the same order as the excel output and you can > have calculated fields where you require them. Sorry if my Dutch is not > good. Twelve programmers, a dozen solutions. :-) I would prefer to make the calculations in the SQL statement with the fields, including the calculated fields, in the required order.  This simplifies the code for placing the data in Excel. Assuming we have a table test.dbf with the fields aantal and eenheidsprijs and we also want to show the cost. cWorkbook = 'd:\examples\test.xls' //  As required q = new query() q.sql = 'select aantal,eenheidprijs,aantal*eenheidsprijs as kost from test' q.active = true qrf = q.rowset.fields //to save some typing later oExcel  = new oleAutoclient("Excel.Application") oExcel.workbooks.add() //oExcel.visible = true oSheet = oExcel.ActiveSheet // The following will place the fieldnames, including the calculated // field's name, in the Excel worksheet as headings // // Alternatively replace with code to write headings to each column nRow = 10 nCol = 8 //Column H for n = 1 to qrf.size     oCell = oSheet.cells(nRow,nCol)     oCell.formula = qrf[n].fieldname     nCol++ next // The following will loop through the rowset and place the data for // each record on a new line in Excel do while not q.rowset.endofset     nRow++ // Move down a row for each record     nCol = 8 // Start in column H for each record     for n = 1 to qrf.size        oCell = oSheet.cells(nRow,nCol)        oCell.formula = qrf[n].value        nCol++      next      q.rowset.next() //Go to next record enddo q.active = false oExcel.activeWorkbook.saveAs(cWorkbook) oExcel.activeWorkbook.close() Mervyn.