select * from myTable where SomeField = "SomeValue" into cursor myCursor =CrystalRep("myCursor","c:\myCrstalReports\myReport.RPT","myTable") function CrystalRep lparameters tcCursorName, tcRPTName, tcTableName lcAlias = alias() select (tcCursorName) lcTemp = sys(2015) Copy to (sys(5)+curdir()+lcTemp) type fox2x oCrystal=CreateObject("Crystal.CRPE.Application") #Define WS_MAXIMIZE 29949952 DECLARE integer GetForegroundWindow in WIN32API DECLARE short IsWindow in WIN32API integer oRpt = oCrystal.OpenReport(tcRPTName) With oRpt With .Database.Tables(tcTableName) .Location = sys(5)+curdir()+lcTemp+".dbf" Endwith .preview ("Report Preview ",,,,,WS_MAXIMIZE,0) Endwith lnHwndActiveX = GetForegroundWindow() && Save word window handle DO while IsWindow(lnHwndActiveX) # 0 && Wait while Activex Alive ENDDO Clear dlls Erase (sys(5)+curdir()+lcTemp+".*") if !empty(lcAlias) and used(lcAlias) select (lcAlias) endifCetin