CloseTables() method
The following is a better example, I hope, for your situation. Note: I couldn't get AutoOpen and AutoClose to work in a programmatic DE. I'm not sure if it should, or not.*!* *!* NoDESample.PRG *!* IF !FILE('TEMP.DBF') CREATE TABLE TEMP (c1 C(10)) INSERT INTO TEMP (c1) VALUES ("BAR") ENDIF IF USED('Temp') USE IN TEMP ENDIF LOCAL ox ox = NEWOBJECT("MyForm") ox.SHOW(1) DEFINE CLASS MyDE AS DATAENVIRONMENT AUTOOPENTABLES = .F. AUTOCLOSETABLES = .F. INITIALSELECTEDALIAS = "temp" ADD OBJECT Cursor1 AS Cursor1 ENDDEFINE DEFINE CLASS CURSOR1 AS CURSOR ALIAS = "temp" CURSORSOURCE = "temp.dbf" NAME = "Cursor1" ENDDEFINE DEFINE CLASS MyForm AS FORM DATAENVIRONMENT = .NULL. PROCEDURE LOAD THIS.DATAENVIRONMENT = NEWOBJECT("MyDE" ) THIS.DATAENVIRONMENT.OPENTABLES() ENDPROC PROCEDURE DESTROY THIS.DATAENVIRONMENT.CLOSETABLES() ENDPROC PROCEDURE INIT THIS.ADDOBJECT("Grid1", "Grid") THIS.Grid1.RECORDSOURCE = "Temp" THIS.Grid1.VISIBLE = .T. ENDPROC PROCEDURE UNLOAD THIS.DATAENVIRONMENT = .NULL. ENDPROC ENDDEFINE