Obtener loggings entre la Fecha X y la Fecha Y de mi database de Access?

Tengo una tabla llamada Recargar en una database de acceso.

Algunos de los campos son RechargeDate, Account, Number, etc.

Quería recuperar todos los loggings entre dos dates, así que escribí la siguiente consulta:

string Query = "select * from Recharge where Account='" + comboBox1.Text + "' and RechargeDate between '"+dateTimePicker1.Value.Date.ToShortDateString()+"' and '"+dateTimePicker2.Value.Date.ToShortDateString()+"'" 

La consulta funciona bien, pero el único problema al que me he encontrado es que solo puedo recuperar dates de un solo mes.

Si solicito loggings de un lapso que abarca más de un mes, no obtengo el resultado correcto.

¿Alguna ayuda?

la consulta se ejecuta bien, pero el problema es que solo puedo get detalles entre las dates en un solo mes, si el mes de inicio y el mes final difieren, no puedo get el resultado adecuado por favor ayúdame

Tal vez te encuentres con algún problema de formatting de date de cadena; testing con este código:

 OleDbCommand command = new OleDbCommand( "SELECT * FROM Recharge " + "WHERE Account=@Account and " + "RechargeDate between @RechargeDateStart AND @RechargeDateEnd"); command.Parameters.AddWithValue("@Account", comboBox1.Text); command.Parameters.AddWithValue("@RechargeDateStart",dateTimePicker1.Value.Date); command.Parameters.AddWithValue("@RechargeDateEnd" ,dateTimePicker2.Value.Date); 

Por cierto, no debería tratar de concatenar commands SQL, ya que esto puede conducir a ataques de inyección SQL.

Lo he usado con éxito, Recharge >= Date1 and Recharge <= Date2 que no he usado between tal vez es más eficiente, pero uso el primero.