Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

[ACCESS] - salvare in un database le informazioni di un file selezionato

  1. #1
    edobaldo non è in linea Novello
    Post
    15
    Like Inviati  
    0
    Like Ricevuti  
    0
    buongiorno a tutti,

    attraverso un codice vba, faccio selezionare all'utente un file, dal quale io voglio che venga salvato in un database:

    1. nome completo (cartella\nomefile.etc)
    2. il tipo di file (ossia l'estensione)
    3. la dimensione

    per il primo punto ho utilizzato l'oggetto filedialog nel seguente modo:

    Dim fDialog As OFFICE.FileDialog
    Dim varFile As Variant, pippo As Long
    Set fDialog = APPLICATION.FileDialog(msoFileDialogFilePicker)
    With fDialog
    .Title = "Please select one or more files"
    .Filters.Clear
    .Filters.Add "All Files", "*.*"
    If .Show = True Then
    For Each varFile In .SelectedItems
    MsgBox (varFile)
    Next
    Else
    MsgBox "You clicked Cancel in the file dialog box."
    End If
    End With
    End Sub

    dove .selecteditems e' la variabile che salva il/i percorsi selezionati.
    esiste una cosa del genere anche per l'estensione e la dimensione?

    la mia idea sull'estensione era prendere il percorso e tagliare le ultime tre lettere, ma i geniacci di microsoft si sono inventati di le nuove estensioni a quattro letter e non piu' a tre.....

    per la dimensione del file non ne ho la piu' pallida idea....

    ogni suggerimento e molto gradito.
    buona giornata
    Edoardo

  2. #2
    L'avatar di dragone bianco
    dragone bianco non è in linea Amanuense
    Post
    7,753
    Like Inviati  
    0
    Like Ricevuti  
    2
    Ciao

    nel file dialog puoi dirgli tu che estensioni visualizzare
    da qui

    .Filters.Clear
    .Filters.Add "All Files", "*.*"
    
    dove gli dici elimina tutti i filtri presenti
    ed inserisci un filtro per visualizzare tutti i file


    ora non ben capito cosa vuoi fare se far selezionare un file che:
    Si trova in una certa directory
    Che abbia una certa estensione
    che abbia una certa dimensione

    o cosa vuoi fare??

    Ciao
    ℹ️ Leggi di più su dragone bianco ...

  3. #3
    edobaldo non è in linea Novello
    Post
    15
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao Dragone Bianco, grazie per il tuo interessamento.

    Quello che voglio è che un utente può selezionare qualsiasi tipo di file ( e quindi lo strumento filter nn fa a caso mio) una volta selezionato il file in una tabella voglio salvare:

    Percorso del file - riuscito con .selecteditem
    Estensione del file - come?
    Dimensione del file - come?

    Spero che adesso sia stato pii chiaro.
    Grazie
    Edoardo

  4. #4
    L'avatar di dragone bianco
    dragone bianco non è in linea Amanuense
    Post
    7,753
    Like Inviati  
    0
    Like Ricevuti  
    2
    Ok ora ho capito
    per l'estensione del file puoi usare lo split

    Es
    Function Estensione(File as string)as string
    Dim Valore
    
    Valore=split(file,".")
    Estensione=valore(ubound(valore))
    end function
    
    per la dimensione del file bisogna usare il file sistem

    Ciao
    ℹ️ Leggi di più su dragone bianco ...

  5. #5
    edobaldo non è in linea Novello
    Post
    15
    Like Inviati  
    0
    Like Ricevuti  
    0
    grazie ancora Dragone Bianco per la risposta.

    Scusa la mia ignoranza, cosa vuol dire devi usare il file system?
    Ci sarebbe uma guida su come usarlo?

    Grazie ancora e scusa per la "domanda banale"..

    Saluti
    Edoardo

  6. #6
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Post
    16,802
    Like Inviati  
    0
    Like Ricevuti  
    23
    Quote Originariamente inviato da edobaldo Visualizza il messaggio
    grazie ancora Dragone Bianco per la risposta.

    Scusa la mia ignoranza, cosa vuol dire devi usare il file system?
    Ci sarebbe uma guida su come usarlo?

    Grazie ancora e scusa per la "domanda banale"..

    Saluti
    Edoardo
    Premesso che l'Help non deve essere un'opzione alla quale ricorrere solo quando si viene imbeccati.....

    Il percorso intendi tutto meno il Nome...?
    Questa Funzione restituisce il PATH comprensivo dell'ultimo BackSlash:
    Public Function fGetPath(strFile As String) As String
       Dim intBKSLPos As Integer
       If Len(strFile) = 0 Then Exit Function
       intBKSLPos = InStrRev(strFile, "\")
       If intBKSLPos = 0 Then Exit Function
       fGetPath = Mid$(strFile, 1, intBKSLPos )
    End Function
    
    Se non vuoi l'ultimo BackSlash modifica l'ultima riga:
       fGetPath = Mid$(strFile, 1, intBKSLPos-1 )
    
    Questa Funzione Restituisce l'estensione di un file:
    Public Function fExtension(strFile As String) As String
       Dim intPointPos As Integer
       If Len(strFile) = 0 Then Exit Function
       intPointPos = InStrRev(strFile, ".")
       If intPointPos = 0 Then Exit Function
       fExtension = Mid$(strFile, intPointPos + 1, Len(strFile))
    End Function
    
    Per sapere le dimensioni del File usa la funzione:
    Function FileLen(PathName As String) As Long
        Membro di VBA.FileSystem
    
    Leggi l'help per i dettagli e fai attenzione che il valore restituito è in Byte....

    Per salvare il tutto in una Tabella(ma sinceramente lo trovo inutile, essendo dati ricavabili al momento) devi aprire un Recordset in scrittura e scrivere quello che hai ricavato.
    ℹ️ Leggi di più su @Alex ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Salvare e leggere delle informazioni via DOS
    Da Hell_Devil nel forum Microsoft Windows
    Risposte: 10
    Ultimo Post: 28-06-2011, 20:22
  2. Risolto: Salvare contenuto DataGridView in database access
    Da krossk2 nel forum Visual Basic .Net
    Risposte: 18
    Ultimo Post: 27-04-2011, 21:13
  3. scrivere in un database al cliente selezionato
    Da mattoneo nel forum Visual Basic 6
    Risposte: 17
    Ultimo Post: 20-10-2008, 17:10
  4. Risposte: 1
    Ultimo Post: 20-06-2008, 02:17
  5. salvare un database di access da VB
    Da Pagano Tony nel forum Visual Basic 6
    Risposte: 44
    Ultimo Post: 25-02-2005, 13:14