Stop using string concatenation to pass values - use a parameterised query instead:
OleDbDataAdapter da = new OleDbDataAdapter();
da = new OleDbDataAdapter("SELECT [Flavours],COUNT(Flavours)As[asdf] From [Total] Where [Dates] BETWEEN ? AND ? Group By [Flavours]", VCON);
da.SelectCommand.Parameters.AddWithValue("?", dateTimePicker1.Value);
da.SelectCommand.Parameters.AddWithValue("?", dateTimePicker2.Value);
da.Fill(dt);
If you are habitually using string concatenation, then be aware that your database is at risk for SQL Injection, where a user can destroy it just by typing in text boxes:
xkcd: Exploits of a Mom[
^]
Always use parameterised queries.