Local oConn as adodb.connection, ; oRS as ADOdb.Recordset, ; lcCOnnStr as String oConn = CreateObject('Adodb.connection') lcConnStr = 'Provider=VFPOLEDB.1;Data source='+; Sys(5)+Curdir()+'testdata.dbc' With oConn .Open(lcConnStr) oRS = .Execute('select * from customer') ShowMe('Customer table', oRS) .Execute('set deleted on') .Execute('delete from customer where cust_id = "B"') oRS = .Execute('select * from customer') ShowMe('Customer table - After Deleted(ansi on,default)', oRS) .Execute('set ansi off') .Execute('delete from customer where cust_id = "B"') oRS = .Execute('select * from customer') ShowMe('Customer table - After Deleted(ansi off)', oRS) .Execute('update customer set maxordamt = maxordamt + 1000') oRS = .Execute('select * from customer') ShowMe('Customer table - After update', oRS) .Execute('update customer set maxordamt = maxordamt - 1000') && restore oRS = .Execute('select * from customer') ShowMe('Customer table - After restore', oRS) .Close endwith Function ShowMe Lparameters tcCaption,toRecordset oForm = Createobject('myForm', tcCaption,toRecordset) oForm.Show Read Events Endfunc Define Class myform As Form Height = 450 Width = 750 Name = "Form1" Add Object hflex As OleControl With ; Top = 10, Left = 10, Height = 430, Width = 730, Name = "Hflex", ; OleClass = 'MSHierarchicalFlexGridLib.MSHFlexGrid' Procedure Init Lparameters tcCaption,toRecordset This.Caption = tcCaption This.hflex.Datasource = toRecordset Endproc Procedure QueryUnload Clear Events Endproc EnddefinePS: Didn't use tastrade but testdata. Tastrade not only have triggers that'd fail for a simple sampling worse it has trigger code that's assuming it's always running from within tastrade.app.