Macro Carica Dati Esterni

di Anonimizzato14630 il
6 risposte
Salve,
ho la necessità di creare una macro in un DB Access 2010 che mi permetta di aprire la finestra di dialogo "Carica Dati Esterni".
Grazie in anticipo a chi potrà aiutarmi.
3ddi3

6 Risposte

  • Ciao e grazie per la risposta.
    Tuttavia, l'azione di macro TrasferisciDatabase si applica a Access 2007 e non ho trovato la relativa corrispondenza, nel catalogo delle azioni disponibili, nella versione 2010.
    3ddi3
  • Mmhhh...fai attenzione perchè tu dovresti avere un tasto in alto che dovrebbe chiamarsi tipo "Altre azioni..." clicca su quello per vedere l'intera lista delle azioni macro.
    Io ho Access 2003 e l'azione TrasferisciDatabase c'è.
  • Si, il pulsante è Mostra tutte le azioni ma come ti anticipavo l'azione TrasferisciDataBase non è inclusa.
  • 3ddi3 ha scritto:


    Si, il pulsante è Mostra tutte le azioni ma come ti anticipavo l'azione TrasferisciDataBase non è inclusa.
    Sulla versione 2010 è all'interno dell'azione ImportaEsportaDati (anche questa visibile solo dopo aver selezionato Mostra tutte le azioni)
  • Dividiamo il probelma in 2 in quanto sono esattamente 2 passi da gestire in modo differente.

    Il primo è la selezione del FILE da cui Importare i dati...
    Per questo puoi appoggiarti, solo tramite VBA, all'Oggetto FILEDIALOG della Libreria di Office da inserire nei riferimenti del VBA.
    Ne trovi una chiarissima descrizione in questo Articolo MS:

    Il Secondo problema è l'importazione dei dati, postuma alla selezione del File.
    Prima di tutto devi spiegare di che tipo di FILE parliamo, in quanto la modalità di IMPORTAZIONE potrebbe essere completamente diversa...
    Se si tratta di File di testo, COMMA SEPARATED(CSV) si usa il metodo TransferText
    
    Sub TransferText([TransferType As AcTextTransferType = acImportDelim], _
               [SpecificationName], _
               [TableName], _
               [FileName], _
               [HasFieldNames], _
               [HTMLTableName], _
               [CodePage])
        Membro di Access.DoCmd
    Se si tratta di file di Excel si usa il metodo Transferspreadsheet
    
    Sub TransferSpreadsheet([TransferType As AcDataTransferType = acImport], _
                [SpreadsheetType As AcSpreadSheetType = acSpreadsheetTypeExcel12Xml], _
                [TableName], _
                [FileName], _
                [HasFieldNames], [Range], [UseOA])
        Membro di Access.DoCmd
    Per entrambi poi è possibile definire dei FILE SPECIFICA al fine di perfezionarne l'importazione...

    Se i dati risiedono su un File non formattato che richiede la lettura RIGA-RIGA... è ancora un'altra situazione.
Devi accedere o registrarti per scrivere nel forum
6 risposte