Ho una query del tipo
...
WHERE ((Contratti.DataContratto)>=[@DataInizio] And (Contratti.DataContratto)<=[@DataFine]) AND (Contratti.CodiceGruppoCliente = @CodiceGruppoCliente) AND (Contratti.CodiceAzione = @CodiceAzione) AND (Contratti.CodiceTariffa = @CodiceTariffa)
GROUP BY Anag_Comuni.Comune;

e da codice:

DsDati = new DataSet();
myCommandCP.Parameters.Add(new OleDbParameter("@DataInizio", DataInizioRic.Text));
myCommandCP.Parameters.Add(new OleDbParameter("@DataFine", DataFineRic.Text));
myCommandCP.Parameters.Add(new OleDbParameter("@CodiceGruppoCliente", ddlGruppoRic.SelectedValue));
myCommandCP.Parameters.Add(new OleDbParameter("@CodiceAzione", ddlAzioneRic.SelectedValue));
myCommandCP.Parameters.Add(new OleDbParameter("@CodiceTariffa", ddlTariffaRic.SelectedValue));
myCommandCP.CommandType=CommandType.StoredProcedur e;
OleDbDataAdapter DataAdatp = new OleDbDataAdapter(myCommandCP);
DataAdatp.Fill(DsDati, "ElencoContratti");

Come posso modificare la query per fare in modo che, anche se non passo valori al codice

(esempio ddlTariffaRic.SelectedValue nullo) mi vengano selezionati *tutti* gli elementi .... a differenza di quanto ddlTariffaRic.SelectedValue ha un valore, caso in cui mi vengono recuperati solo gli elementi che contengono tale valore?