Newsgroup: it.comp.appl.access
Titolo: CERCA FILE SU DISCO

Salve a tutti e buon inizio autunno;
Su una form ho:
1 textbox chiamata PercorsoFile
1 textbox chiamata NomeFile
1 pulsante chiamato Sfoglia
1 pulsante chiamato Cerca
1 listbox chiamata Elenco
 
quello che voglio fare è che inserendo un nome di un file che  .doc che
voglio cercare su disco mi venga elencato nella listbox (simile al cerca
di windows)
 
mettendo il codice sotto nell'evento click del pulsante Cerca  mi da un
errore per riferimento non valido FileSearch eppure ho abilitato nei
riferimenti la libreria Microsoft Word library 12.0, ma niente 
 
Mi sapreste dare una dritta?
 
***********************************************************************
Private Sub Cerca_Click()
Dim i As Long
 
If IsNull(Me.PercorsoFile) Then
    MsgBox "E' necessario inserire una directory", vbInformation +
vbOKOnly, "Percorso di Ricerca"
Else
    With Application.FileSearch
        .LookIn = Me.PercorsoFile
        .FileName = Me.Nome_File & ".doc" 
        If .Execute() > 0 Then
            'MsgBox "Trovati " & .FoundFiles.Count & " file"
                Me.Elenco.RowSource = .FoundFiles(1)
                Me.Elenco.RowSource = Me.Elenco.RowSource & ";" &
FileLen(.FoundFiles(1))
                Me.Elenco.RowSource = Me.Elenco.RowSource & ";" &
FileDateTime(.FoundFiles(1))
            For i = 2 To .FoundFiles.Count
                Me.Elenco.RowSource = Me.Elenco.RowSource & ";" &
FoundFiles(i)
                Me.Elenco.RowSource = Me.Elenco.RowSource & ";" &
FileLen(.FoundFiles(i))
                Me.Elenco.RowSource = Me.Elenco.RowSource & ";" &
FileDateTime(.FoundFiles(i))
            Next i
        Else
            MsgBox "Nessun file trovato"
        End If
    End With
End If
End Sub
*************************************************************************
 
-- 
 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
 
 
 

Da Office2007 la lIb di FileSearch non è più supportata in VBA, e da
quanto ne so non sono state ripristinate con alternative specifiche.
 
Se vuoi riempire una List/Combo puoi adattare questo codice:
 
Public Function FillListFiles(ctl As Access.ListBox, Startpath As
string)
    Dim MyPath As String
    Dim MyName As String
    ctl .RowSource = ""
    MyPath = Startpath
    MyName = Dir(MyPath)
    Do While MyName <> ""
        With ctl
            .RowSource = .RowSource & MyName & ";"
        End With
        MyName = Dir
    Loop
    ctl.RowSource = Left(ctl.RowSource, Len(ctl.RowSource) - 1)
End Function
 
@Alex

 @Alex
Ciao Alex mi da un errore riferimenti nella libreria cosa dovrei attivare?


 Ciao Alex mi da un errore riferimenti nella libreria cosa dovrei attivare?
 
Ti da errore ma non è colpa del codice quanto a qualche LIB che avrai
inserito non aggiornata.
Il codice inseiro è completamente NATIVO di Access e non può dipendere
da questo.
 
Verifica i RIFERIMENTI e troverai un MANCA, probabilmente alle LIB di
OFFICE che peraltro non ci dovrebbero nemmeno essere....
Le LIB necessarie per Access sono solo 3, se ne hai di più chiediti se
servono...!
 
@Alex

@Alex ha scritto:

Ok Alex allora ho fatto cosi:
 
Ho posto nel Origine di Riga della Listbox "Elenco Valori"
Poi nell'evento click del pulsante cerca ho messo il tuo codice con una
piccolissima modifica:
 
///////////////////////////////////////////////////////////////
Private Sub Cerca_Click()
Dim MyPath As String
Dim MyName As String
Me!Elenco.RowSource = ""
MyPath = Me.PercorsoFile & ""
MyName = Dir(MyPath)
Do While MyName <> ""
    Me!Elenco.RowSource = Me!Elenco.RowSource & MyName & ";"
    MyName = Dir
Loop
Me!Elenco.RowSource = Left(Me!Elenco.RowSource, Len(Me!Elenco.RowSource) -
1)
End Sub
//////////////////////////////////////////////////////////////////
 
dove PercorsoFile e una textbox dove metto la path 
 
Tutto funziona benissimo ora .... Ma se rileggi l'inizio del mio post ho
anche inserito una textbox chiamata Nome_file in cui inserisco il nome del
file da cercare quindi premendo il pulsante Cerca mi deve trovare e quindi
visualizzare nella Listbox Elenco il file voluto (qualora esista) come si
può modificare il codice?
Ti ringrazio


 
 
"Domy73"  ha scritto nel messaggio news:j5egmc$ei6$1...@news.newsland.it...

Prova ad aggiungere il riferimento:
Microsoft Scripting Runtime
 
Saluti
Paolo
 
 
 
 
 

 Ti ringrazio
Ti avevo anche detto di adattare quel codice alla tua esigenza...
Nel LOOP inserisci il Confronto del File da cercare con il contenuto
di MyName...
@Alex

 @Alex
Ho provato cosi Alex ma non va !!! helppppp
///////////////////////////////////
Private Sub Cerca_Click()
Dim MyPath As String
Dim MyName As String
Me!Elenco.RowSource = ""
MyPath = Me.PercorsoFile & ""
MyName = Dir(MyPath)
Do While MyName <> ""
If Me.Nome_File = MyName Then
Me!Elenco.RowSource = Me!Elenco.RowSource & Me.Nome_File & ";"
MyName = Dir
Loop
Me!Elenco.RowSource = Left(Me!Elenco.RowSource, Len(Me!Elenco.RowSource)
-1)
End Sub
//////////////////////////////////////////
-- 



Prima di dire che non va... prova a vedere cosa contiene MyName... fai
DEBUG... e verifica da solo
cosa stai facendo.
 
@Alex

 @Alex
-----------------------------------------
Ciao Alex scusa il ritardo nell'esito ma ho avuto problemi al pc, 
tornado al problemino con access ma non ne sono venuto a capo, non riesco
ad inserire nel loop la condizione che se trova il file me lo visualizza
nella listbox altrimenti se il file non lo trova il messaggio FILE NON
TROVATO, per favore aiutami.
Grazie e Ciao
