ciao,
il problema è quasi sicuramente dovuto al campo data e a come tuscrivi la query di insert.
Quando lavori con ado.net , e devi usare dei valori nella stringa sql, ti conviene sempre passare tramite parametri, in modo che sia proprio ado.net a scriverti la stringa correttamente (ad es: true/false => 1,0 etc...).
In piu' access, con le date rompe le scatole, ed il formato di parametro che vuole poi è completo, ovvero dd/MM/yyyy HH:mm:ss.
Ti posto il codice che uso io di solito con access, senza avere problemi:
come vedi la stringa sql contiene i parametri, che aggiungo poi all'insieme "Parameters" del command.
In piu' la funzione "GetParametro" formatta il valore DateTime, come lo vuole access.
Il codice è in c#, ma è portabile in vb.net in 2min...forse la clausola using lasciala stare, crea la variabile normale.
Ecco un link se vuoi capire meglio la teoria:
http://msdn.microsoft.com/it-it/library/33y2221y.aspx
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo