Ciao,
se ho capito bene l'istruzione INSERT la dai in pasto ad un SQL server.
Se questo è vero allora il problema potrebbe essere nel modo in cui passi valori di tipo data a SQL.
Nella stringa scrivi:
... "',#" & persrapporto & "#,#" & persnascita & "#,'"...
quindi a SQL arriverà una string tipo:
...., #11/12/2007 13.51#... o la data convertita in stringa.
Questo può andar bene per MS Access, ma in SQL le date bisogna esprimerle tra virgolette singole '<data>' e la stringa che definisce la data può essere scritta in diversi modi, a seconda anche delle impostazioni internazionali del PC dove funziona SQL Server.
A mio giudizio il modo più sicuro per passare dei valori data con comandi SQL è quelle di dargleie in formato ISO, quindi: 'yyyyMMdd'
Quindi il 11/12/2007 bisogna scriverlo così '20071211'.
Io uso questo metodo nel mio framework (C#):
public static string DateISO(DateTime date)
{
return date.ToString("yyyyMMdd",System.Globalization.CultureInfo.InvariantCulture);
}
Non ho visto altro di anomalo nel comando SQL
Spero di esserti stato d'aiuto.
Davide.