Sobre el parth relativo
Hola de nuevo
Parece que solucionado el tema de mostrar imágenes en un formulario me gustaría depurar el tema haciendo que access tome la ruta de cada foto partiendo de un directorio relativo.
Para hacer las pruebas he creado una tabla con un campo clave autonumérico y un campo de texto (que llamo "nombre") donde almaceno el nombre del fichero de la foto, sin la extensión. La base de datos está almacenada en c:\d y las fotos en c:\d\p luego tu código me queda tal que así:
If Len(Dir("c:\d\p\" & Me![nombre] & ".jpg")) <> 0 Then
Me!FOTO.Picture = "c:\d\p\" & Me![nombre] & ".jpg"
Else
Me!FOTO.Picture = ""
End If
Si muevo la carpeta de a otra unidad, a d: por ejemplo, o renombro la carpeta o algo así el formulario deja de mostrar las fotos ya que en c:\d\p no encuentra nada. Mi primer intento fue esto:
If Len(Dir(".\p\" & Me![nombre] & ".jpg")) <> 0 Then
Me!FOTO.Picture = ".\p\" & Me![nombre] & ".jpg"
Else
Me!FOTO.Picture = ""
End If
Y luego:
If Len(Dir("\p\" & Me![nombre] & ".jpg")) <> 0 Then
Me!FOTO.Picture = "\p\" & Me![nombre] & ".jpg"
Else
Me!FOTO.Picture = ""
End If
Que seria la forma de hacerlo en html por ejemplo. Pero no hubo suerte.
Se me ocurrió que podría crear una "super variable", un campo en una tabla donde almacenar la ruta a la fotos y si moviera el directorio sólo tendría que actualizar un registro. Pero no se muy bien si es posible y en tal caso cómo hacerlo.
También me huelo que se podría hacer algo con la función currentDir(), CurrentDB o CurrentProyect. Pero aquí si que ya me pierdo, no se ni cómo aplicarlas ni donde ni nada :D
Parece que solucionado el tema de mostrar imágenes en un formulario me gustaría depurar el tema haciendo que access tome la ruta de cada foto partiendo de un directorio relativo.
Para hacer las pruebas he creado una tabla con un campo clave autonumérico y un campo de texto (que llamo "nombre") donde almaceno el nombre del fichero de la foto, sin la extensión. La base de datos está almacenada en c:\d y las fotos en c:\d\p luego tu código me queda tal que así:
If Len(Dir("c:\d\p\" & Me![nombre] & ".jpg")) <> 0 Then
Me!FOTO.Picture = "c:\d\p\" & Me![nombre] & ".jpg"
Else
Me!FOTO.Picture = ""
End If
Si muevo la carpeta de a otra unidad, a d: por ejemplo, o renombro la carpeta o algo así el formulario deja de mostrar las fotos ya que en c:\d\p no encuentra nada. Mi primer intento fue esto:
If Len(Dir(".\p\" & Me![nombre] & ".jpg")) <> 0 Then
Me!FOTO.Picture = ".\p\" & Me![nombre] & ".jpg"
Else
Me!FOTO.Picture = ""
End If
Y luego:
If Len(Dir("\p\" & Me![nombre] & ".jpg")) <> 0 Then
Me!FOTO.Picture = "\p\" & Me![nombre] & ".jpg"
Else
Me!FOTO.Picture = ""
End If
Que seria la forma de hacerlo en html por ejemplo. Pero no hubo suerte.
Se me ocurrió que podría crear una "super variable", un campo en una tabla donde almacenar la ruta a la fotos y si moviera el directorio sólo tendría que actualizar un registro. Pero no se muy bien si es posible y en tal caso cómo hacerlo.
También me huelo que se podría hacer algo con la función currentDir(), CurrentDB o CurrentProyect. Pero aquí si que ya me pierdo, no se ni cómo aplicarlas ni donde ni nada :D
1 Respuesta
Respuesta de keok
1