Tengo el siguiente código de vba y al empezar a utilizar access 2016 me da fallo

Tengo el siguiente código de vba y al pasar de access 2007 al 2016 me da el programa un fallo de código 2455 en tiempo de ejecución y me señala el fallo en el siguiente código

Dim fs
Dim i
Set fs = Application.FileSearch
With fs
    .lookin = "C:\Windows\System32"
    .FileName = "sy_sfs01.ocl"
    If .Execute() = 0 Then
    MsgBox "El limite de Clientes de esta versión de demostración es de 25.", , "Tallersoft"
        'DoCmd.OpenForm "Inicio"
        'Comando13.Enabled = False

2 Respuestas

Respuesta
1

En Access 2016 yo utilizo el objeto FileSystem y funciona perfecto.

Por ejemplo, para comprobar si un archivo existe utilizo esta función.

Function ExisteArchivo(Ruta As String) As Boolean

Dim FSO As New FileSystemObject

ExisteArchivo = FSO.FileExists(Ruta)

End Function

Este objeto tiene un montón de métodos que seguro se ajustan a tus necesidades.

Puedes consultarlos en: https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/filesystemobject-object 

Respuesta
1

No das mucha información sobre el error (no creo que nadie sepa todos los números de error de Access a qué corresponden) y en qué linea te da el mismo, por lo que supondré que te marca la linea Set fs = Application.FileSearch y por tanto que te falta por registrar alguna referencia en tu proyecto VBA.

Eso lo compruebas fácilmente entrando en el editor de VBA, luego a Menú Herramientas - >Referencias y comprueba que en ninguna de las que tengas marcadas ponga FALTA. Si es así, tendrás que desmarcarla y referenciarla de nuevo.

Buenas tardes

Perdona por la falta de información, te adjunto las fotografías del mensaje de error que da y las líneas de código que te resalta

Muchas gracias de antemano

El problema que tienes es que FileSeach ya no existe en el objeto Application para versiones superiores a 2007.

Si lo que intentas es buscar si existe un archivo o no, lo puedes hacer con la función Dir():

If Dir("C:\Windows\System32\sy_sfs01.ocl")="" Then

'Si no encuentra el archivo...

Else

'Si lo encuentra...

End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas