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

Importazione di dati da un foglio di Excel a una tabella di Access

  1. #1
    BennyB non è in linea Scolaretto
    Salve a tutti.
    Sto cercando di importare in una tabella di Access i dati elencati in un foglio di Excel, ma vado incontro ad un problema che non capisco.
    la tabella è la seguente:

    La pagina di Excel, invece, è questa:

    Utilizzo un codice base, molto semplice, che è il seguente:
    Sub preleva()
        Dim App As Object                                            'Interfaccia Excel
        Dim ws As Object                                             'Foglio Excel
        Dim File As Object                                           'File Excel
        Dim Fnome As Variant                                         'Nome file Excel
    
        Fnome = "C:\Users\Benny\Desktop\DB CD\prove analisi con API (OK).xlsm"
    
        Set App = CreateObject("Excel.Application")
        Set File = App.Workbooks.Open(Fnome)
        Set ws = File.Worksheets("dati")
        ws.Activate
       
        DoCmd.TransferSpreadsheet acImport, 9, "tblGenerale_strumenti", Fnome, True, "dati!"
        
        App.Workbooks.Close
        
    End Sub
    
    L'esecuzione si interrompe con un errore di run-time che attesta: «campo 'F9' non presente nella tabella di destinazione 'tblGenerale_strumenti'». Però, come visibile nelle immagini, non c'è alcun campo F9.

    Che succede? Probabilmente sarà una scemata, ma non riesco a trovare l'inghippo... qualcuno ha una spiegazione?
    Ultima modifica di BennyB; 01-11-2018 12:24 

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Puoi spiegare perché apri prima l'oggetto Excel...?

    Dopo che ci hai fatto capire tecnicamente il motivo, puoi cancellare tutto e lasciare solo la riga del Transfertspreadsheet.
    Devi tuttavia se apri la guida alla funzione ti accorgerai che esiste il parametro Tange che si può utilizzare per definire proprio il Range.
     Range:="Dati!A1:BE11"
    
    Chiaramente ti ho fatto un esempio...
    ℹ️ Leggi di più su @Alex ...

  3. #3
    BennyB non è in linea Scolaretto
    Ecco... Grazie.

    Diciamo che l'apertura di Excel era stato un tentativo (velleitario e un po' babbeo,lo so) di risolvere il problema.
    In precedenza, avevo pure io provato con la definizione del range dei dati.
    Ora ci ho riprovato, e ho capito che l'unico errore consisteva nel non aver definito correttamente il range.
    Anche perché, prima, avevo provato senza intestazione, poi con, eccetera.

    Infine, questo è il codice corretto:
    Sub preleva()
        Dim Fnome As Variant                                         'Nome file Excel
    
        Fnome = "C:\Users\Benny\Desktop\database DVD (Access 2003)\DB CD\prove analisi con API (OK).xlsm"
       
        DoCmd.TransferSpreadsheet acImport, 9, "tblGenerale_strumenti", Fnome, True, "dati!A1:H1030"
            
    End Sub
    

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Importazione dati da foglio excel
    Da ljt nel forum Visual Basic .Net
    Risposte: 23
    Ultimo Post: 21-12-2016, 11:09
  2. vb6-importazione dati da foglio excel
    Da eurostar_italia nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 26-07-2011, 15:22
  3. Risposte: 5
    Ultimo Post: 19-02-2010, 20:28
  4. [Access] - problemi con importazione foglio Excel
    Da Fabio63 nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 08-10-2009, 10:59
  5. procedura importazione foglio excel in access
    Da LuRokk nel forum Microsoft Access
    Risposte: 6
    Ultimo Post: 21-02-2008, 16:32