Extraño proble al hacer un rs.open

juanolas
14 de Noviembre del 2003
Hola a todos-as
tengo el siguiente problema realizo la comprobacion de una serie de sentencias que consisten en abrir un recordset de la siguiente manera :
Public Function Abrir_rs(rs As Recordset, Datos As String, Localizacion As Integer, num_sql As Integer) As Integer

Set rs = New Recordset

On Error GoTo si_error

rs.LockType = adLockOptimistic
rs.CursorLocation = Localizacion
rs.CursorType = adOpenDynamic
rs.Source = Datos
rs.ActiveConnection = Conexion
rs.Open

si_error:
acciones

End sub

donde datos es la sql

el problema es que me entra por el si_error cuando el record esta abierto con los datos correctos y en principio parece que todo lo izo bien ,lo que no debe estar bien debe ser la forma de capturar el error ,agradeceria cualquier sugerencia al respecto.
muchas gracias por su atencion
saludos

andresguerrero
14 de Noviembre del 2003
solo una pregunta sonde indicas que conexion as new.odbc

Andres

juanolas
14 de Noviembre del 2003
hola andres, la conexion la abro en otra funcion aparte creando un objeto tipo conection y pasandole la ruta de la base de datos ,esta parte nunca me dio ningun problema lo hago de la siguiente manera:

Dim Conexion As New Connection

Public Sub Abrir_Conexion(BaseDatos As String)
Conexion.Provider = "Microsoft.Jet.OLEDB.4.0"
Conexion.ConnectionString = "Data Source=" & BaseDatos
On Error Resume Next
Conexion.Open
If Err Then
MsgBox ("No puedo abrir la base de datos. Contacte con el proveedor")
End
End If
On Error GoTo 0
end sub

muchas gracias por tu interes
un saludo

Ren?
14 de Noviembre del 2003
el error es evidente, el codigo se ejecuta secuencialmente y despues de tu rs.open
viene la etiqueta si_error: y luego las acciones a tomar
que se ejecutaran con error o sin el.
puedes evitarlo usando un \\'goto salida\\' .

.
.
rs.Source = Datos
rs.ActiveConnection = Conexion
rs.Open
goto salida
si_error:
acciones
salida:
End sub

saludos