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.