Ciao e grazie della risposta, ho provato ma non funziona.
Inoltre le parentesi non sono un problema (ad esempio facendo la query con la sola condizione or funziona benissimo).
Per le date non capisco, non da errori ma mi restituisce date che non sono assolutamente nel range richiesto...
Adesso ho provato aggiungendo Parameters così
codice:
string query = "SELECT * FROM PRODUZ WHERE TIPO='R' OR TIPO='R/S' AND DATORD BETWEEN ? AND ? ORDER BY DATORD DESC";
OleDbConnection con = new OleDbConnection(conString);
OleDbCommand cmd = new OleDbCommand(query, con);
// aggiungo i parametri
cmd.Parameters.Add("@p1", OleDbType.Date).Value = inizio; // es. 01/06/2016 00:00:00
cmd.Parameters.Add("@p2", OleDbType.Date).Value = fine; // es. 21/06/2016 00:00:00
DataTable result = new DataTable();
OleDbDataReader reader = null;
try
{
con.Open();
reader = cmd.ExecuteReader();
if (reader.HasRows) { result.Load(reader); }
else { MessageBox.Show("La query non ha prodotto risultati."); }
}
catch (OleDbException ex)
{ MessageBox.Show("Errore nella connessione al DataBase! " + ex.ToString()); }
finally
{
reader.Close();
con.Close();
}
vistaDati.DataSource = reader;
Ma non mi restituisce nulla, nemmeno un errore!!!!!