I dont think any COM Server is "better suited" For ComReturnError(), but again i maybe wrong!, Let me take the RecordSet Example and turn it into a Dbf example without MTS
DEFINE CLASS MyClass As Session OlePublic
Function SaveMyWork()
USE SomeTable IN 0
USE SomeOtherTable IN 0
=CursorSetProp("Buffering", 5, "SomeTable")
=CursorSetProp("Buffering", 5, "SomeOtherTable")
REPLACE SomeTable.SomeField WITH "This Comment" IN SomeTable
REPLACE SomeOtherTable.SomeField WITH "This Comment" IN SomeOtherTable
BEGIN TRANSACTION
llOK=TableUpdate(2, .F., "SomeTable")
x = y
llOK=IIF(llOK, TableUpdate(2, .F., "SomeOtherTable"), .F. )
IF llOK
END TRANSACTION
ELSE
ROLLBACK
ENDIF
ENDFUNC
ENDDEFINE
>Thanks for sharing all of this info. Our setup is different since we aren't using MTS and COM+ and we are just using dbfs - so it's probably better suited to ComReturnError.