Extraer nombres de archivos de una carpeta a tabla de access ya existente

Me gustaría extraer los nombres de archivos que contiene una carpeta y que se añadan a una tabla ya existente en Access.

El código se debe de ejecutar desde Access.

2 respuestas

Respuesta
1

Vamos a ver si consigo explicarme que siempre es lo más difícil. Vamos a suponer que tengo una carpeta llamada ImagenesUsar, que tiene archivos de todo tipo.

Vamos a suponer que en una base tengo la tabla Archivos tal que

Y supongamos que en un formulario tengo un botón, aunque no es necesario, ya que se puede poner en cualquier otro evento, pero en este caso lo pongo

Si lo pulso me deja la tabla

IMPORTANTE.- Si vas a hacer pruebas con tu base, abre el editor de VB y pulsa Herramientas-Referencias y activa la casilla Microsoft Office XX.X Object Library.

Lo de XX.X es por la versión del Office que tengas instalado.

El código del evento Al hacer clic del botón es

Private Sub Comando2_Click()
Dim xFSO As Object
    Dim xFolder As Object
    Dim xFile As Object
    Dim xFiDialog As FileDialog
    Dim xPath As String, todo As String
    Dim i As Integer
    Set xFiDialog = Application.FileDialog(msoFileDialogFolderPicker)
    If xFiDialog.Show = -1 Then
        xPath = xFiDialog.SelectedItems(1)
    End If
    Set xFiDialog = Nothing
    If xPath = "" Then Exit Sub
    Set xFSO = CreateObject("Scripting.FileSystemObject")
    Set xFolder = xFSO.GetFolder(xPath)
    i = 1
    For Each xFile In xFolder.Files
        i = i + 1
        todo = Left(xFile.Name, InStrRev(xFile.Name, ".") - 1) & "." & Mid(xFile.Name, InStrRev(xFile.Name, ".") + 1)
        DoCmd.RunSQL "insert into archivos(archivo)values('" & todo & "')"
    Next
End Sub
Respuesta
1

He preparado el siguiente ejemplo:

TABLA

Formulario para tomar el nombre de la carpeta

Haga clic en "Elegir Carpeta", esto abre el cuadro de dialogo para buscar la carpeta o subcarpeta que contiene los archivos. Observe que puede elegir si adiciona archivos en la tabla o borrar.

Al hacer clic en el botón Adicionar se adicionan en la tabla los nombres de los archivos de la carpeta, los nombres no se repiten, toda vez, que el campo "archivos" de la tabla es un campo requerido y e indexado sin duplicados, no obstante, el código valida si ya existe el nombre de archivo y continúa. La validación es para llevar el control de cuántos archivos fueron adicionados e informa con el siguiente mensaje:

RESULTADO DE LOS ARCHIVOS ADICIONADOS

CÓDIGO DEL BOTÓN Elegir Carpeta

CÓDIGO DEL BOTÓN Adicionar

Para este ejemplo debe hacer referencia en el editor de Visual Basic a:

Microsoft Office XX Object Library (en donde XX es su versión de office) y

Microsoft Scripting Runtime

Si quiere el ejemplo lo puede solicitar a [email protected], favor hacer referencia a la consulta en el asunto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas