Access - problemas con campo hipervinculo

 
Vista:
Imágen de perfil de miguel
Val: 501
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

problemas con campo hipervinculo

Publicado por miguel (306 intervenciones) el 09/03/2021 18:53:27
hola amigos tengo una tabla donde ademas de los datos hay tres campos de tipo hpervinculo llamados doc1, doc2 y doc3 y en ellos registro la direccion donde estan determinados documentos.
Debido a temas internos dichos documentos se han cambiado de carpeta dentro del ordenador y necesito modificar las direcciones de los hipervinculos, por ejemplo, si antes los doc1 estaban en T:\documentos\periodo\nombre del documento.pdf , ahora estan en Z:\documentos\anteriores\nombre del documento.pdf
los doc2 estaban en T:\documentos\gestoria\nombre del documento.pdf , ahora estan en Z:\documentos\nuevagestoria\nombre del documento.pdf y asi sucesivamente, decir que no todos los vinculos tienen valor, es decir, unos registros tienen valor en doc1, doc2 y doc3 y otros tienen doc1 y doc2, otros solo doc1, otros solo doc2, etc.

El problema es que son muchos documentos para actualizarlos uno a uno y como no soy muy bueno en codigo lo he intentado con consultas y logicamente no funciona ¿alguien me puede echar una mano?

saludos.
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 Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

problemas con campo hipervinculo

Publicado por Norberto (753 intervenciones) el 10/03/2021 10:35:31
Hola:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub CambiarHipervínculos()
    'Definimos las constantes correspondientes a las carpetas antiguas y nuevas
    Const RutaDoc1 = "T:\documentos\periodo\", NuevaRutaDoc1 = "Z:\documentos\anteriores\"
    Const RutaDoc2 = "T:\documentos\gestoria\", NuevaRutaDoc2 = "Z:\documentos\nuevagestoria\"
    '
    Const RutaDoc3 = "T:\documentos\otros\", NuevaRutaDoc3 = "Z:\documentos\nuevolugar\"
    'No indicas cuáles. Pon tú las que correspondan
    '
    'Defininos la variable para el recordset
    Dim Rst As DAO.Recordset
    'Abrimos la tabla a la variable Rst
    Set Rst = CurrentDb.OpenRecordset("Documentos") 'Pon tú el nombre que corresponda
 
    Do While Not Rst.EOF 'Mientras no se llegue al final del recordset
        Rst.Edit         'Activamos la edición
        If Not IsNull(Rst!Doc1) Then 'Si hay valor en Doc1
            'Reemplazamos la ruta antigua por la nueva
            Rst!Doc1 = Replace(Rst!Doc1, RutaDoc1, NuevaRutaDoc1)
        End If
        If Not IsNull(Rst!Doc2) Then 'Id
            Rst!Doc2 = Replace(Rst!Doc2, RutaDoc2, NuevaRutaDoc2)
        End If
        If Not IsNull(Rst!Doc3) Then 'Id
            Rst!Doc3 = Replace(Rst!Doc3, RutaDoc3, NuevaRutaDoc3)
        End If
        Rst.Update 'Actualizamos el registro con los cambios
        Rst.MoveNext 'Pasamos al siguiente registro
        DoEvents
    Loop
 
    Rst.Close   'Cerramos el recordset
    Set Rst = Nothing 'Vaciamos la variable
End Sub

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de miguel
Val: 501
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

problemas con campo hipervinculo

Publicado por miguel (306 intervenciones) el 10/03/2021 19:56:26
muchas gracias, lo pruebo y comento
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 miguel
Val: 501
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

problemas con campo hipervinculo

Publicado por miguel (306 intervenciones) el 10/03/2021 20:20:15
lo estoy probando con cada campo independientemente y por ahora el campo doc1 ha funcionado perfectamente, supongo que en los demas no habra problemas.
te estoy muy agradecido.
saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar