loDataAccess = This.GetDataAccessObject() lnRetVal = loDataAccess.First()with:
IF This.UseRemoteExecutant() tcExecString = "nav_first '" + SUBSTR(This.GetAlias(), 3) + "','" + ; This.cDescField + "','" + This.cUniqueIDField + "'" lnRetVal = This.RemoteExecutantExecSQL(tcExecString, 'cSQLPassThrough') IF lnRetVal > 0 SELECT cSQLPassThrough lcProperty = 'This.' + This.cUniqueIDField IF TYPE('cSQLPassThrough.id') = 'N' &lcProperty = cSQLPassThrough.id ELSE &lcProperty = VAL(cSQLPassThrough.id) ENDIF USE lnRetVal = This.Requery() ENDIF RETURN lnRetVal ELSE loDataAccess = This.GetDataAccessObject() lnRetVal = loDataAccess.First() ENDIFThe key is using the method RemoteExecutantExecSQL which I discover after studing the situation.