ciao..il codice sembra dover fare quello che deve fare in fin dei conti..
l'unica cosa che incriminerei è l'istruzione sql.
prima di tutto mi servirebbe sapere la colonna GIORNO della tua tabella TBar che tipo di dati è Numerico o Data\ora o testo?
e dentro cosa ci sta scritto? dammi un dato di esempio..
comunque suppongo che sia di tipo data\ora
tu usi in breve queste istruzioni per determinare la where:
e quindi supponendo che la query viene eseguita oggi il risultato sarebbe:
command8 = "SELECT * FROM Tbar WHERE GIORNO >= #01/01/0001 0.00.00# AND GIORNO <= #23/10/2009 0.00.00#"
non capisco perchè parti dal giorno 1 del mese 1 e anno 1
ti basterebbe scrivere
command8 = "SELECT * FROM Tbar WHERE GIORNO <= #" + dt4.Date + "#";
se invece il dt2 da qualche altra parte ti cambia va bene l'istruzione precedente ma a questo punto dt2 lo inizializzerei diversamente dal valore predefinito magari scrivendo
DateTime dt2 = new DateTime(1899,12,31);
infatti access non sa cosa sia #01/01/0001# per lui il valore minore di un data\ora è #31/12/1899#
quindi l'istruzione sql così creata, "SELECT * FROM Tbar WHERE GIORNO >= #31/12/1899 0.00.00# AND GIORNO <= #23/10/2009 0.00.00#", rispetto al precedente valore, "SELECT * FROM Tbar WHERE GIORNO >= #01/01/0001 0.00.00# AND GIORNO <= #23/10/2009 0.00.00#", ti restituirà i dati che prima non ti restituiva...
fammi sapere se è questo alla fine il problema o c'è qualcos'altro.
ciao
Vincenzo
Programmatore sbilenco