The problem end up being a ADO Versioning conflict. Downloaded the component
checker and saw various version from 2.5 to 2.7. Had the client reinstall
2.7 sp1 and the problem is gone.


"michael" <> wrote:
>I do not think that the error is occuring in one of the DB Classes with

>following design. However, any insight to resolve the problem would be much
>The app is currently using Access as the backend. SQL Server is planned

>the future so I designed the DB class to only return ADODB.Recordsets, ErrorObjects
>& ADODBErrorObjects. I designed it so that the one function that creates
>the DB class in the application can be simply changed from Set DB = New

>to Set DB = CreateObject(Class, Server) for DCOM use. When DB class returns
>any of those objects listed above, I evaluate the return values with these
>2 functions.
>'Code that used the ValidateRecordset Function
>' Set rs = ValidateRecordset(db.GetActivity(ActivityID), sProcedure)
>Public Function ValidateRecordset(oRs As Object, ProcedureName As String)
>As ADODB.Recordset
> If TypeOf oRs Is ADODB.Recordset Then
> Set ValidateRecordset = oRs
> Else
> WriteError ProcedureName, oRs
> End If
>End Function
>'Code that used the ValidateIsError Function
>' If not ValidateIsError(rsHeader, rsDetail), sProcedure) Then
>Public Function ValidateIsError(oError As Object, ProcedureName As String)
>As Boolean
> If Not oError Is Nothing Then
> ValidateIsError = True
> WriteError ProcedureName, oError
> End If
>End Function
>This ValidateRecordset is looking for an ADODB.recordset to be returned.
>If not it will be either the ErrorObject or the ADODB ErrorObject. The ValidateIsError
>function is looking for nothing to be returned. I use this when I do not
>need to only update the database without a return value or I have multiple
>recordset that need to be updated which are passed byVal to one of the DB
>class's functions.