Access - Cambio ubicación objetos OLE

 
Vista:

Cambio ubicación objetos OLE

Publicado por Marta (1 intervención) el 27/03/2006 15:13:30
Tengo una base de datos Access. En algunos registros tengo un vínculo con archivos PDF (todos en el mismo directorio), vinculados como objetos OLE. Por motivos organizativos tendría que cambiar los ficheros a otro directorio, pero entonces dejan de funcionarme los enlaces. ¿Sería posible actualizar automáticamente todos los registros, o tengo que currármelos uno a uno?
Grcias por la ayudita.
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 Alejandro

Actualizar vínculos de archivos PDF en lote

Publicado por Alejandro (4142 intervenciones) el 17/07/2023 23:06:20
En Access, puedes actualizar los vínculos de archivos PDF en lote utilizando un código VBA (Visual Basic for Applications). A continuación, te proporcionaré un ejemplo de cómo puedes hacerlo:

1. Abre tu base de datos de Access y asegúrate de tener la tabla que contiene los registros con los vínculos a los archivos PDF.

2. Abre el editor de Visual Basic en Access. Puedes hacerlo presionando Alt + F11.

3. En el editor de Visual Basic, ve al menú "Insertar" y elige "Módulo" para insertar un nuevo módulo.

4. En el nuevo módulo, puedes utilizar el siguiente código como punto de partida:

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
34
35
36
37
38
39
Sub ActualizarVinculosPDF()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
 
    ' Ruta nueva del directorio de los archivos PDF
    Dim nuevaRuta As String
    nuevaRuta = "C:\NuevaRuta\"
 
    ' Nombre de la tabla que contiene los vínculos
    Dim nombreTabla As String
    nombreTabla = "NombreTabla"
 
    Set db = CurrentDb
    Set rs = db.OpenRecordset(nombreTabla)
 
    Do Until rs.EOF
        ' Obtener el vínculo actual
        Dim viejoVinculo As String
        viejoVinculo = rs("NombreCampoVinculo").Value
 
        ' Construir el nuevo vínculo
        Dim nuevoVinculo As String
        nuevoVinculo = nuevaRuta & Right(viejoVinculo, Len(viejoVinculo) - InStrRev(viejoVinculo, "\"))
 
        ' Actualizar el vínculo en el registro actual
        rs.Edit
        rs("NombreCampoVinculo").Value = nuevoVinculo
        rs.Update
 
        ' Pasar al siguiente registro
        rs.MoveNext
    Loop
 
    rs.Close
    Set rs = Nothing
    Set db = Nothing
 
    MsgBox "Vínculos actualizados correctamente."
End Sub

5. Antes de ejecutar el código, asegúrate de actualizar la variable `nuevaRuta` con la ruta completa del nuevo directorio donde se encuentran los archivos PDF.

6. También, actualiza la variable `nombreTabla` con el nombre de la tabla en tu base de datos que contiene los vínculos de los archivos PDF.

7. En el código, reemplaza `NombreCampoVinculo` con el nombre del campo en tu tabla que almacena los vínculos a los archivos PDF.

8. Ejecuta el código presionando F5 o haciendo clic en el botón de "Ejecutar" en la barra de herramientas del editor de Visual Basic.

El código recorrerá todos los registros en la tabla especificada y actualizará automáticamente los vínculos de los archivos PDF para reflejar la nueva ruta del directorio. Una vez que se haya ejecutado el código, los vínculos deberían funcionar correctamente.

Recuerda hacer una copia de seguridad de tu base de datos antes de realizar cambios masivos en los datos.
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