Pulsante sfoglia

Anonimo
2014-07-11T15:49:35+00:00

Buonasera

Ho cercato in giro ma non ho trovato nulla di attinente e pertanto sono qui a chiedere il vostro aiuto per una cosa che credo sia facile ma che a me proprio non riesce di fare.

Su una maschera avrei bisogno di impostare un pulsante (Sfoglia per l'appunto) che mi permetta di rintracciare in un percorso un file excel e selezionarlo e premere successivamente un pulsante per importarlo secondo un tracciato di importazione precedentemente salvato.

Grazie in anticipo

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-07-13T16:10:25+00:00

Ciao Francesco,

abbi pazienza .... io ... noi ... non siamo davanti alla tua applicazione e quindi possiamo darti solo indicazioni generiche.

Procedo con un  passo passo:

selezionato  percorso e file la maschera di esplorazione si chiude e non posso fare nulla: non è del tutto corretto. Una volta selezionato il file che ti interessa, premendo il pulsante "Scegli il file da importare" ti dovrebbe comparire un messaggio con il percorso completo del file

Se tu volessi scrivere quel percorso in una casella di testo (ad esempio chiamata CasellaDiTesto) presente sulla maschera non dovresti far altro che modificare l'istruzione come segue


.......

        If .Show Then

            'MsgBox .SelectedItems(1)

             Me!CasellaDiTesto.Value =  .SelectedItems(1)

        else

            MsgBox "Non hai selezionato alcun file!!"

        End If

.....


A questo punto non ti resta che intercettare il valore della casella di testo all'interno della routine dell'altro pulsante. Qualcosa del tipo:


    DoCmd.TransferText TransferType:=acImportDelim, _

        SpecificationName:="NomeSpecifica", _

        TableName:="TuaTabella", _

        FileName:=Me!CasellaTesto.Value, _

        HasFieldNames:=False


Ho messo in evidenza i valori da modificare per adeguarli alla tua situazione reale

David

La risposta è stata utile?

0 commenti Nessun commento

6 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-07-13T14:43:33+00:00

    Ciao Francesco,

    probabilmente non ho capito bene la tua domanda perchè, seguendo le indicazioni dell'articolo indicato, ed integrandole con l'osservazione "late binding" di Mauro, ho inserito questo codice dietro un pulsante


    Private Sub Comando0_Click()

        Dim fd As Object

        Set fd = Application.FileDialog(3)  'msoFileDialogFilePicker

        With fd

            .AllowMultiSelect = False

            .ButtonName = "Scegli il file da importare"

            .Filters.Clear

            .Filters.Add Description:="File CSV", _

                Extensions:="*.csv"

            .Filters.Add Description:="Tutti i file", _

                Extensions:="*.*"

            .InitialFileName = "C:"

            .Title = "Selezione File"

            If .Show Then

                MsgBox .SelectedItems(1)

            else

                MsgBox "Non hai selezionato alcun file!!"

            End If

        End With

        Set fd = Nothing

    End Sub


    Codice che mi apre una finestra che mi consente di esplorare il contenuto delle risorse del computer, a partire da un percoso definito (nell'esempio C:) e mi restituisce il path completo al file selezionato.

    Non era questo che volevi?

    A valle di questo codice va poi inserita la gestione dell'importazione del file stesso, che però non era oggetto della tua domanda.

    Sbaglio?

    David

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-07-13T12:27:50+00:00

    Grazie ad entrambi ma non sono riuscito ad applicare nessuno dei due metodi, forse mi sono spiegato male main sostanza io dovrei mettere un pulsante su una maschera (Sfoglia) che mi apre le risorse del computer e mi permette di navigare per cercare un file CSV che una volta selezionato deve essere importato in una tabella secondo uno schema di importazione già salvato.

    Grazie ancora per l'aiuto,

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-07-11T16:20:22+00:00

    (devi modificare i riferimenti alla libreria di Office in relazione alla tua versione)

    Ciao David.

    Senza dover specificare la libreria:

    '......

        Dim fDialog As Object

        Dim varFile As Variant

        Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

    '.....

    '.....

        Set fDialog = Nothing

    In Excel funziona, immagino sia così anche in Access.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-07-11T16:00:21+00:00

    Ciao Francesco,

    un modo è quello di utilizzare l'oggetto FileDialog, come descritto qui

    Come visualizzare e utilizzare la finestra di dialogo File in Microsoft Access

    (devi modificare i riferimenti alla libreria di Office in relazione alla tua versione)

    David

    La risposta è stata utile?

    0 commenti Nessun commento