Access - Sr

 
Vista:

Sr

Publicado por Arturo Estrada (2 intervenciones) el 25/02/2004 22:01:01
Quiero hacer una base de datos en access, que al grabar un archivo en un directorio \"X\" y sus subdirectorios, lo registre el la base de datos, con su nombre y ubicacion, es eso posible, ayudenme por favor, gracias...
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

Sr

Publicado por Alejandro (4142 intervenciones) el 04/05/2023 21:44:53
Sí, Arturo, es posible hacerlo utilizando código VBA en Access. En términos generales, deberías crear una función o subrutina que use el objeto FileSystemObject de la biblioteca de objetos de Microsoft Scripting Runtime para buscar el archivo y sus subdirectorios, y luego agregar la información relevante (nombre y ubicación) a una tabla en la base de datos de Access.

Aquí te dejo un ejemplo básico de cómo podrías hacerlo:

1. Abre el editor de Visual Basic en Access (presiona ALT + F11) y crea un nuevo módulo.
2. En la parte superior del módulo, agrega la siguiente declaración para habilitar el uso de FileSystemObject:

1
2
3
' Debe agregar una referencia a "Microsoft Scripting Runtime" desde el menú Herramientas > Referencias.
' Alternativamente, puede usar el objeto FileSystemObject de la biblioteca de objetos de Microsoft Office.
Dim fso As New FileSystemObject

3. Crea una función o subrutina que tome como argumento la ruta del directorio que deseas buscar, y que utilice el objeto FileSystemObject para recorrer el directorio y sus subdirectorios en busca de archivos. Por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub BuscarArchivos(ByVal ruta As String)
    Dim carpeta As Folder
    Dim subcarpeta As Folder
    Dim archivo As File
 
    Set carpeta = fso.GetFolder(ruta)
 
    For Each archivo In carpeta.Files
        ' Aquí puedes agregar la información del archivo a una tabla en la base de datos.
        Debug.Print archivo.Path
    Next archivo
 
    For Each subcarpeta In carpeta.SubFolders
        BuscarArchivos subcarpeta.Path
    Next subcarpeta
End Sub

4. En la línea que dice "Aquí puedes agregar la información del archivo a una tabla en la base de datos", deberías reemplazar "Debug.Print archivo.Path" con código que agregue la información relevante a una tabla en la base de datos de Access. Por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim db As DAO.Database
Dim rs As DAO.Recordset
 
Set db = CurrentDb()
Set rs = db.OpenRecordset("TablaDeArchivos")
 
rs.AddNew
rs!NombreArchivo = archivo.Name
rs!RutaArchivo = archivo.Path
rs.Update
 
rs.Close
Set rs = Nothing
Set db = Nothing

En este ejemplo, suponemos que tienes una tabla llamada "TablaDeArchivos" con dos campos llamados "NombreArchivo" y "RutaArchivo", a los cuales agregamos los valores relevantes.

5. Ahora, puedes llamar a la función BuscarArchivos desde cualquier parte de tu base de datos, pasándole como argumento la ruta del directorio que deseas buscar. Por ejemplo:

1
BuscarArchivos "C:\MiDirectorio\"

Ten en cuenta que el código anterior es solo un ejemplo básico y deberías adaptarlo a tus necesidades específicas. Además, debes asegurarte de que tu base de datos tenga permisos suficientes para acceder a los directorios que deseas buscar, especialmente si se trata de directorios en una red o en otra computadora.
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