select MyTable * * Don't declare the following two variables as local, otherwise * they won't be "seen" by the MyProgress function * private pnRec,pnTotRecs pnRec=0 count to pnTotRecs copy to MyFile.Csv for MyProgress() type csv wait clear function MyProgress pnRec=pnRec+1 wait window nowait ltrim(str(pnRec))+" of "+ltrim(str(pnTotRecs)) return .T.Also, as far as dates, you can temporarily SET DATE YMD (and SET CENTURY ON) before you issue your COPY TO command and that will ensure the dates will get output as YYYY/MM/DD.