x = CREATEOBJECT("test") REPLACE ship_name WITH '' ? TABLEUPDATE(2,.T.,"CURSOR1") DEFINE CLASS test AS cursoradapter SelectCmd= "select * from Orders" CursorSchema= "ORDER_ID I, CUSTOMER_ID C(5), EMPLOYEE_ID I, SHIP_NAME C(40), SHIP_ADDRESS C(60), SHIP_CITY C(15), SHIP_REGION C(15), SHIP_POSTAL_CODE C(10), SHIP_COUNTRY C(15), SHIP_VIA I, ORDER_DATE T, REQUIRED_DATE T, SHIPPED_DATE T, FREIGHT Y" Alias = "cursor1" DataSourceType = "ADO" InsertCmdDataSourceType = "ADO" UpdateCmdDataSourceType = "ADO" DeleteCmdDataSourceType = "ADO" Flags = 0 KeyFieldList= "ORDER_ID" Tables= "Orders" UpdatableFieldList= "ORDER_ID, CUSTOMER_ID, EMPLOYEE_ID, SHIP_NAME, SHIP_ADDRESS, SHIP_CITY, SHIP_REGION, SHIP_POSTAL_CODE, SHIP_COUNTRY, SHIP_VIA, ORDER_DATE, REQUIRED_DATE, SHIPPED_DATE, FREIGHT" ors = .F. oconn = .F. Name = "test" PROCEDURE Init() local llReturn set multilocks on llReturn = dodefault() TEXT TO this.UpdateNameList NOSHOW ORDER_ID Orders.ORDER_ID, CUSTOMER_ID Orders.CUSTOMER_ID, EMPLOYEE_ID Orders.EMPLOYEE_ID, SHIP_NAME Orders.SHIP_NAME, SHIP_ADDRESS Orders.SHIP_ADDRESS, SHIP_CITY Orders.SHIP_CITY, SHIP_REGION Orders.SHIP_REGION, SHIP_POSTAL_CODE Orders.SHIP_POSTAL_CODE, SHIP_COUNTRY Orders.SHIP_COUNTRY, SHIP_VIA Orders.SHIP_VIA, ORDER_DATE Orders.ORDER_DATE, REQUIRED_DATE Orders.REQUIRED_DATE, SHIPPED_DATE Orders.SHIPPED_DATE, FREIGHT Orders.FREIGHT ENDTEXT This.DataSource = this.oRS This.UpdateCmdDataSource = this.oRS This.oRS.ActiveConnection = this.oConn IF this.CursorFill(.T.) = .F. MESSAGEBOX(MESSAGE()) ENDIF return llReturn ENDPROC PROCEDURE ors_access() LOCAL loRS as ADODB.RecordSet IF VARTYPE(this.oRS)<>"O" THEN this.oRS = NULL loRS = CREATEOBJECT("ADODB.Recordset") IF VARTYPE(loRS)="O" THEN loRS.CursorType= 3 && adOpenStatic loRS.CursorLocation = 3 && adUseClient loRS.LockType= 3 && adLockOptimistic this.oRS = loRS ENDIF ENDIF RETURN this.oRS ENDPROC PROCEDURE oconn_access() LOCAL loConn as ADODB.Connection IF VARTYPE(this.oConn)<>"O" THEN this.oConn = NULL loConn = CREATEOBJECT("ADODB.Connection") IF VARTYPE(loConn)="O" THEN loConn.ConnectionString = 'PROVIDER=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source = "C:\temp\Northwind.sdf"' loConn.OPEN() this.oConn = loConn ENDIF ENDIF RETURN this.oConn ENDPROC PROCEDURE AfterUpdate() LPARAMETERS cFldState, lForce, nUpdateType, cUpdateInsertCmd, cDeleteCmd, lResult _cliptext = cUpdateInsertCmd ENDPROC ENDDEFINE &&test