Recordset a sql Server y err.number

Soy nuevo por aquí, a ver si me podéis ayudar con esto.

Ya casi lo tengo, pero no acabo de rematarlo.

Lo que quiero es, que si al arrancar la base de datos no hay vinculación en las tablas en sql server, se abra el administrador de tablas vinculadas.

A ver si consigo explicarme bien...

Tengo esta función. Si la vinculación es a otra base de datos access funciona bien(no lleva "dbo_" en este caso). Pero si es a un servidor SQL Server no me funciona. Si no lleva el "dbo." la función no hace nada, ni da ningún error y si lo lleva aunque la tabla este vinculada correctamente y la pueda abrir siempre me salta el Administrador de tablas vinculadas, digamos que el recordset no la puede abrir y salta el Err. Number. Y es aquí donde estoy perdido, no se que hago mal.

Las tablas cuando las vinculo luego las renombro y les quito el dbo_ , aun así con esto puesto tampoco va.

Se que estoy cerca creo, pero no consigo de ninguna forma que funcione.

También he probado con están variables y nada(esto iría en la función de abajo)

Dim dbs As DAO.Database

Dim Rst As DAO.Recordset

Set Rst = dbs.OpenRecordset("dbo.tbFicha", dbOpenTable)

En numero de error que me da es el 3024.

Public Function VerificaVinculacion()

On Error GoTo Err_ControlErrorFuncion

 Dim dbs As Database

 Dim Rst As Recordset

 Set dbs = CurrentDb

 Set Rst = dbs.OpenRecordset("Select * from dbo.tbCategoria1", dbOpenDynaset)

 Rst.Close

 dbs.Close

'Si llego aqui hay vinculacion y abro un formulario

DoCmd.OpenForm "frmFicha"

 Exit_ControlErrorFuncion:

    Exit Function

Err_ControlErrorFuncion:

     If Err.Number = 3024 Or Err.Number = 3044 Then

    MsgBox Err.Number

Application. Run "acwztool.att_Entry" ' Abre el asistente de tablas vinculadas si no hay vinculacion

     Exit Function

    End If

    Exit Function

    Resume Exit_ControlErrorFuncion

End Function

Añade tu respuesta

Haz clic para o