Access - Ruta en red

 
Vista:
sin imagen de perfil
Val: 25
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Ruta en red

Publicado por d (65 intervenciones) el 29/08/2022 13:14:05
Buenos días
Tengo un programa de gestión de almacén, con el que trabajo en local. Pero hay datos como son: foto del producto, documento de garantía, etc., que se encuentran en un NAS.
En el programana, hay varios formularios que buscan datos en dicho NAS, y el objeto en cuestión tiene la ruta escrita de a dónde a de ir a buscarlos, como por ejemplo "\\192.168.1.200\Datos" . En cada formulario, para no tener que escribir la ruta cada vez, escribo:

Dim RutaAlmacen As String
RutaAlmacen = "\\192.168.1.200\Datos"
y para cada objeto que necesito le añado la carpeta en donde está: RutaAlmacen &"\Foto\" o &"\Garantía"

Dónde está el problema.
El problema no es grande. Consiste en que, si por la razón que sea se ha de cambiar la ruta, tengo que ir formulario por formulario cambiándola manualmente.

Qué necesito.
Me gustaría tener la ruta escrita en una tabla y que los formularios fueran a buscar la ruta a dicha tabla. Así, sólo tendría que cambiar un único registro.
En este sentido he creado una tabla "T_Rutas" con un campo "Ruta", en donde escribo dicha ruta como único registro (por ejemplo: "\\192.168.1.200\Datos")
Qué he de hacer.
Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Eduardo

Ruta en red

Publicado por Eduardo (318 intervenciones) el 29/08/2022 18:12:24
Puede definir la variable RutaAlmacen como pública en un módulo, si la IP y la carpeta Datos no cambia sería algo como:

1
2
3
4
Option Compare Database
Option Explicit
 
Public Const RutaAlmacen = "\\192.168.1.200\Datos"

Si va a estar cambiando la ruta puede guardar la ruta en archivo texto y leerlo almacenando el contenido en la variable. Para este caso debe crear una función que lea el contenido del archivo al iniciar la aplicación, con esto ya queda lista la ruta para cualquier objeto que la necesite.
No obstante tiene que definir

1
Public RutaAlmacen As String
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 25
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Ruta en red

Publicado por d (65 intervenciones) el 29/08/2022 19:54:14
Muchas gracias, Eduardo.
A ver si lo he entendido.
Voy a hacer lo siguiente:

Al inicio del código de Al Cargar el Formulario "Menú" (obviamente es el que se abre al iniciar) escribo:

Public RutaAlmacen As String
Public Const RutaAlmacen = "\\192.168.1.200\Datos"

y en el resto de formularios ya sólo tengo que escribir:

(....)
RutaFoto = RutaAlmacen & "\Fotos\" (en la rutina para localizar y ver la foto)


Si esto es así, fantástico.
De todas maneras, para rizar el rizo, ¿es posible que Public Const ..... haga referencia al único registro de la tabla T_Rutas?
Gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo

Ruta en red

Publicado por Eduardo (318 intervenciones) el 29/08/2022 20:20:24
Si utiliza la tabla tiene que asignar el contenido de campo algo como:

RutaAlmacen=Dlookup("Ruta","T_Rutas")

Pero la variable debe ser pública
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 25
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Ruta en red

Publicado por David (65 intervenciones) el 29/08/2022 23:13:53
Disculpe, Eduardo, mi ignorancia.
¿Dónde escribo lo siguiente:?

Public RutaAlmacen As String
Public Const RutaAlmacen = Dlookup("Ruta","T_Rutas")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo

Ruta en red

Publicado por Eduardo (318 intervenciones) el 30/08/2022 18:13:13
Le explico

1. Defina en un módulo

Public RutaAlmacen As String

2. En el formulario principal evento Al abrir

RutaAlmacen = NZ(Dlookup("Ruta","T_Rutas"),"")

3. Ahora, puede desde cualquier formulario obtener la ruta con RutaAlmacen,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ruta en red

Publicado por David (1 intervención) el 30/08/2022 21:07:45
Hola, Eduardo
Todo perfecto, excepto que no me copia lo escrito en la tabla, y lo he de escribir manualmente al inicio del código del formulario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar