BindingSource.Filter entre deux datetimepicker

Signaler
Messages postés
144
Date d'inscription
dimanche 24 avril 2011
Statut
Membre
Dernière intervention
16 juin 2016
-
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
-
Bonjour,
j'ai une BDD access voilà le code que j'utilise pour filtrer une datagridview avec un champ naissance de ma table :datedebue et datefin s'agit de datetimepicker.

If Datedebut.Value = Datefin.Value Then
Me.clientBindingSource.Filter "naissance' " & Datedebut.Value.ToShortDateString().ToString & "'"
Me.clientBindingSource.Sort = "code, souscripteur, ville, type, sex, naissance"
DataGridView1.Visible = True
Me.DataGridView1.DataSource = Me.clientBindingSource
DataGridView1.AutoResizeColumns()

Else
Me.clientBindingSource.Filter "naissance '" & Datedebut.Value.ToShortDateString().ToString & "'" And " naissance = '" & Datefin.Value.ToShortDateString().ToString & "'"
Me.clientBindingSource.Sort = "code, souscripteur, ville, type, sex, naissance"

DataGridView1.DataSource = Me.clientBindingSource
DataGridView1.AutoResizeColumns()
End If

pour la première partie en bleu de ma condition tout va bien parce que je teste seulement sur datedebut parce que dans ce cas datedebut = datefin c'est à dire je cherche qu'une seule date en réalité.

alors mon probléme c'est dans la deuxième partie en rouge de ma condition parce que ici datedebut <> datefin alors ici je dois chercher entre deux dates.
alors je vous prie de me corriger le code en haut en deuxème partie de ma condition.
merci
galaxy2009

1 réponse

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Salut,

la partie en rouge est évaluée lorsque DateDebut est différente de DateFin.
Or tu écris dans ton filter que tu recherches les enregistrements ou naissance est égale DateDebut ET égale à DateFin. Je pense que tu comprendras toi-même d'où vient le souci ;)

NB : je ne comprends pas trop ton ToShortDateString().ToString().