Ruta comodín y cerrar un access desde excel

02/11/2009 - 15:25 por Jordi | Informe spam
Hola, tengo dos dudas:

Necesito indicar que unos ficheros se encuentran ubicados en una
dirección en red, cada uno en una carpeta. ewstos ficheros son todos
iguales, por lo que me interesa estandarizar su codigo, lo que busco
es poder indicar una ruta comodín como L:\Fabricacion\Control Gestión
\BDProveedores\* aquí quiero que se interprete como un asterisco, es
deicr, que se compruebe que realmente se encuentre en esa ruta, sin
importar las subcarpetas que tenga por debajo...

Por otra parte, estoy ejecutando unas macros Access desde excel del
siguiente modo:

Dim accApp, StrArchivo

StrArchivo = "L:\Fabricacion\Control Gestión\BDProveedores
\BDPROVEEDORES.mdb"

Set accApp = CreateObject("Access.Application")
accApp.Visible = True
accApp.OpenCurrentDatabase StrArchivo
accApp.DoCmd.RunMacro "Macro Actualiza Datos" 'rutina a a ejecutar
accApp.DoCmd.RunMacro "Compacta" 'rutina a a ejecutar
accApp.Quit
Set accApp = Nothing

Pero no me cierra el fichero Access, se me queda siempre abierto.
¿Sabeis porqué puede ser?
GRacias!
 

Leer las respuestas

#1 Héctor Miguel
03/11/2009 - 03:45 | Informe spam
hola, Jordi !

Necesito indicar que unos ficheros se encuentran ubicados en una dirección en red
cada uno en una carpeta. ewstos ficheros son todos iguales, por lo que me interesa estandarizar su codigo
lo que busco es poder indicar una ruta comodín como L:\Fabricacion\Control Gestión\BDProveedores\*
aquí quiero que se interprete como un asterisco, es deicr
que se compruebe que realmente se encuentre en esa ruta, sin importar las subcarpetas que tenga por debajo...



(p.e.) con una linea +/- como la siguiente ?

If InStr(1, <ruta completa al fichero>, "L:\Fabricacion\Control Gestión\BDProveedores\", vbTextCompare) Then
' aqui las acciones si esta dentro de la carpeta especificada '
Else
' aqui lo que corresponde si NO esta dentro de la carpeta especificada
End If

Por otra parte, estoy ejecutando unas macros Access desde excel del siguiente modo:
Dim accApp, StrArchivo
StrArchivo = "L:\Fabricacion\Control Gestión\BDProveedores\BDPROVEEDORES.mdb"
Set accApp = CreateObject("Access.Application")
accApp.Visible = True
accApp.OpenCurrentDatabase StrArchivo
accApp.DoCmd.RunMacro "Macro Actualiza Datos" 'rutina a a ejecutar
accApp.DoCmd.RunMacro "Compacta" 'rutina a a ejecutar
accApp.Quit
Set accApp = Nothing

Pero no me cierra el fichero Access, se me queda siempre abierto.
Sabeis porqué puede ser?



(probablemente) hace falta guardar y cerrar la base de datos despues de compactada/modificada (?)

saludos,
hector.

Preguntas similares