Redefinir ruta de imágenes por ruta de dropbox

Maestro Svein

Un gusto verlo.

En esta ocasión y retomando el hilo de unas de mis consultas, quisiera preguntarte lo siguiente:

He adaptado un ejemplo del master Neckkito (Imágenes en formularios). Encuentro algo interesante en esto.

Tengo 4 cuadros de imagen:

ImgNombre1, imgNombre2, imgNombre2, nombrearchivo

En cada uno de ellos un textbox (donde guardo el nombre del archivo .jpg):

Nombre1, nombre2, nombre3, nombre4

Para cada cuadro de imagen el siguiente código

Private Sub imgNombre1_Click()

Dim miRuta As String

If IsNull(Me.nombre1.Value) Then Exit Sub

miRuta = Application.CurrentProject.Path & "\Imágenes\" & Me.nombre1.Value & ".jpg" DoCmd.OpenForm "FImagenAmpliada"

With Forms!FImagenAmpliada .Picture = miRuta

End With

End Sub

Entiendo que la búsqueda de la imagen (miRuta) la hará donde tengo el Front-End. Pero si yo tengo mi Back End en una carpeta dropbox, y en ella quisiera colocar las imágenes en una carpeta (..\dropbox\imágenes). Como cambiar la ruta (que instrucción) para que no me busque en donde tenga el Front End, sino donde tenga el Back End.

He intentado con el currentDB no he tenido exito

Ya me dirás que procede.

1 Respuesta

Respuesta
2

El único cambio que tienes que hacer es el siguiente:

miRuta = "C:\..\dropbox\Imágenes\" & Me.nombre1.Value & ".jpg"

Es decir, asignar a la variable miRuta la dirección completa de tu carpeta dropbox, empezando por la letra de la unidad. Como se supone que la carpeta de dropbox estará "fija" en tu disco duro, no tendrás problema. Si en algún momento la mueves, tendrás que redireccionarla en el código para que no te de error.

Imagine eso, pero no seria mas adecuado sacar por default la ruta del .be ya que tengo un ambiente multiusuario y muchas veces cambio de equipos

De hecho, en el único .rar con los que hemos trabajado últimamente esta un botón que manda llamar a un modulo de nombre mdlBackup para respaldar los .be (pero no se como trabajar con el)

Se podrá partir de ese ejemplo para extraer la ruta e implementarla en miRuta?

Igual y te mando mi BD como siempre.

Gracias

Saludos.

No sé como será el módulo que comentas, pero imagino que trabajará con dbs. TableDefs(i).Connect...

Si embargo, para no tener que tocar ese módulo, se me ocurre otra opción, añadiendo un par de cosas al código de los cuadros de imagen que ya tienes:

Primero unas suposiciones:

Supondré que tienes el dropbox en esta dirección: C:\Mis Documentos\Dropbox

Dentro del Dropbox, sin ninguna carpeta tienes el archivo be, que supondré se llama Datos.mdb

Dentro del Dropbox, tienes la carpeta Imágenes

Private Sub imgNombre1_Click()
Dim miRuta As String
If IsNull(Me.nombre1.Value) Then Exit Sub

'Buscas en la tabla del sistema MSysObjects el campo database que no esté vacío,

' y que te dará la ruta de la bd back-end

miRuta = DLookup("Database", "MSysObjects", "[Database]<>''")

'Le quitamos el nombre y la extensión de la BD (Datos.mdb=9 caracteres) y la contrabarra, e<strong style="line-height: 1.5em;">n total 10 caracteres

miRuta=Left(miRuta,Len(miRuta)-10)

'Construimos la ruta final
miRuta = miRuta & "\Imágenes\" & Me.nombre1.Value & ".jpg"

DoCmd.OpenForm "FImagenAmpliada"
With Forms!FImagenAmpliada .Picture = miRuta
End With
End Sub

A ver si así te sirve.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas