Stop doing that... Never concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.
The chances are your problem will disappear at the same time.
string sql = "SELECT Medicine_name, SUM(Medicine_count) AS Medicine_count, To_Date FROM Medicine_count WHERE [To_Date] BETWEEN ? AND ? GROUP BY Medicine_name,Medicine_count,To_Date";
OleDbConnection connection = new OleDbConnection(connetionString);
OleDbDataAdapter dataadapter = new OleDbDataAdapter(sql, connection);
dataadapter.SelectCommand.Parameters.AddWithValue("?", startT);
dataadapter.SelectCommand.Parameters.AddWithValue("?", endT);
And the chances are that SELECT won't do what you want: GROUP BY will treat each column in the list as a reason to generate a new row:
SQL GROUP By and the "Column 'name' is invalid in the select list because..." error[
^]