La Web del Programador: Comunidad de Programadores
 
    Pregunta:  12951 - REFERENCIAS EN ACCESS 97.
Autor:  Diego Cabrerizo
Saludos a todas las personas del foro.

Me encuentro con el siguiente problema, que me urge bastante, a ver si me lo pueden solucionar. Tengo una aplicación en Access 97 y cuando la intento instalar me da el siguiente error "No se puede encontrar el proyecto o la biblioteca", este error me lo da en funciones como RIGHT o LEFT, estas funciones si no me confundo pertenecen a la referencia VBA (Visual Basic for Application" que están incluidas. ¿Como puedo resolver este problema?.

Muchas gracias y un saludo.

  Respuesta:  Luis Fernando Melo
Hola
Este problema se presenta cuando tienes problemas en las referencias de cualquier componente, revisa si hay alguna perdida, por ejemplo cuando lo instalas en otra máquina es probable que esté el mismo componente pero con otra versión, aqui se te presenta el error que planteas ..

Pienso que cuando hablas de instalar no estas usando el ODE (solo lo supongo), porque de lo contrario no deberias tener el problema, de cualquier manera revisa lo que te digo en el cliente y corrije la referencia.

Espero haberte podido ayudado

  Respuesta:  Fernando Campos
Ese problema te ocurrira la tratar de abrir la aplicación. La manera de resolverlo es is a referencias, desmarcar y marcar las referencias, y compilar y guardar. Ese problema lo suelen dar equipos que tiene instalado el Internet Explorer 4.0

Si quieres hacerlo via función cada vez que abres la base de datos o la 1º vez, en tus base de datos que distribuyes, puedes usar la siguiente funcion

Function ArreglaRefs()

Dim R As Reference, R1 As Reference
Dim s As String

' Busca la primera referencia de la base de datos
' que no sea de access ni de visual basic.
For Each R In Application.References
If R.Name <> "Access" And R.Name <> "VBA" Then
Set R1 = R
Exit For
End If
Next
s = R1.FullPath

' Quitamos la referencia y la volvemos a poner.
References.Remove R1
References.AddFromFile s

' Llama a un comando de SysCmd oculto que automaticamente compila y guarda todos los modulos.
Call SysCmd(504, 16483)

End Function