Access, listar el contenido de una carpeta + clickeable

Resuelto
Brandysve Mensajes publicados 59 Estado Miembro -  
Brandysve Mensajes publicados 59 Estado Miembro -
Hola CCM,

Voilà, j'ai un formulaire Access où je souhaiterais y insérer une zone (rectangle, liste déroulante, peu importe..) qui afficherait en temps réel tous les fichiers Excel se trouvant dans un dossier. De plus, si une personne double clique sur le nom d'un de ses fichiers, il devra s'ouvrir.

Avez-vous une idée?

Brandysve

3 respuestas

  1. eljojo_e Mensajes publicados 1255 Estado Miembro 155
     
    Hola,

    Mira este código (para adaptar) :


    Private Sub Form_Current()
    Dim strDossier As String
    Dim strFichier As String

    strDossier = "D:\Modèle\2 et 3\"

    ' Verificar que la carpeta exista realmente
    If Dir(strDossier, vbDirectory) = "" Then
    MsgBox "¡Carpeta no encontrada!", vbExclamation
    Exit Sub
    End If

    ' Enumerar todos los archivos de la carpeta
    strFichier = Dir(strDossier, vbNormal)
    While strFichier <> ""

    ' Mostrar el nombre del archivo
    Me.ModeleG.AddItem strFichier 'me.ModeleG es una lista desplegable

    ' Leer el siguiente archivo
    strFichier = Dir
    Wend
    End Sub


    Ya puedes listar todos los archivos de una carpeta (no solo de Excel)

    Si puede ayudarte,

    --
    El geek no desciende del metro, él libera el vagón.
    0
  2. Brandysve Mensajes publicados 59 Estado Miembro 5
     
    Gracias eljojo_e, casi he resuelto mi problema.

    Esto es lo que encontré vía ayuda de Access

    Private Sub ListBox2_Click()
    MsgBox ListBox2.Value
    End Sub
    Private Sub Form_Open(Cancel As Integer)
    Me.ListBox2.RowSourceType = "Liste valeurs"
    Me.ListBox2.RowSource = ShowFolderList("C:\Users\***\Desktop\En attente")
    End Sub

    Function ShowFolderList(folderspec) As String
    Dim fs, f, f1, fc, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderspec)
    Set fc = f.Files
    For Each f1 In fc
    s = s & f1.Name
    s = s & ";"
    Next
    ShowFolderList = s
    End Function

    Pero ahora me gustaría que cuando haga doble clic en el nombre de un archivo, se abra.
    0
    1. eljojo_e Mensajes publicados 1255 Estado Miembro 155
       
      Con mi código que alimenta una lista desplegable, pones un código en el evento after_update, que abre el archivo con el nombre que has seleccionado:


      Private Sub xxxx_afterupdate()
      Dim xls As Excel.Application
      On Error GoTo errHnd
      Set xls = CreateObject("Excel.Application")
      xls.Workbooks.Open "D:\tartanpion\" & me.Listedéroulante.value ' y si no hay la extensión, añade ".xls"
      xls.Visible = True
      Exit Sub
      errHnd:
      MsgBox "Erreur N° " & Err.Number & vbLf & Err.Description, , Err.Source
      End Sub
      0
  3. Brandysve Mensajes publicados 59 Estado Miembro 5
     
    Muchas gracias eljojo_e, está perfecto o/

    Hasta pronto
    0