Il problema non è il nome della tabella access ma del foglio excel, in quello che hai allegato si chiama Sheet1 ma andando a leggere i fogli presenti ne vede 1 di nome Sheet1$
se quindi trasformi la stringa sql in
Non ti da più l'errore e continua, ma si ferma ad un altro errore : "L'istruzione INSERT INTO contiene il seguente nome di campo sconosciuto: 'Prova'."
Questo perchè credo che per default la prima linea excel la considera come nome di colonna e quindi o metti pure i nomi di colonna oppure inserisci HDR=NO nella stringa della connessione excel.
quindi:
Inoltre continuerà sempre a darti errore perchè hai definito un campo contatore che in excel non c'è e anche se ci fosse non potresti sovrascriverlo.
Ed inoltre in excel se le colonne nojn ci sono assume come nome colonne F1, F2 ecc...
L'unico modo per far funzionare quello che ti proponi di fare è oltre che a cambiare quello che ti ho sopra detto devi eliminare il campo ID da access e rinominare i nomi di colonna in F1, F2 ed F3 altrimenti prova nella SELECT dei excel a usare degli alias per i campi come una normale query ma non so se funzionerà, del tipo
Detto questo ti sconsiglio vivamente una INSERT brutale da excel a access, nei file excel può esserci di tutto e di più e non hai controllo.
Ma queste sono strategie di sviluppo che tu solo puoi conoscere.
ciao
Vincenzo
Programmatore sbilenco