Rechercher d'une période à une période [Résolu]

keunene 47 Messages postés samedi 5 avril 2014Date d'inscription 4 septembre 2017 Dernière intervention - 10 avril 2017 à 13:26 - Dernière réponse : keunene 47 Messages postés samedi 5 avril 2014Date d'inscription 4 septembre 2017 Dernière intervention
- 11 avril 2017 à 14:49
Bonjour,

je souhaiterais faire des recherches dans une base access, des données d'une période à une période et l'afficher dans une datagrid.
par exemple faire des recherches de données de janvier 2016 à mars 2017.
c'est un logiciel qui enregistre une personne avec sa date d'inscription.donc faire ressortir ceux qui sont inscrits de telle période à telle période .
a partir de ce code je voudrais construire l'application
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim dt As New DataTable
Dim ds As New DataSet
ds.Tables.Add(dt)
Dim da As New OleDbDataAdapter
con.Open()
da = New OleDbDataAdapter("SELECT dati,nom FROM employe where dati like '%" & TextBox1.Text & "%' or dati like '%" & TextBox2.Text & "%' order by dati ", con)
da.Fill(dt)
DataGridView1.DataSource = dt.DefaultView
con.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
End Sub

merci infiniment
Afficher la suite 

5 réponses

Répondre au sujet
ucfoutu 18021 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - 10 avril 2017 à 15:47
0
Utile
1
Bonjour
Ton problème n'est pas un problème VB.Net, mais un problème de rédaction de requête.
On ne fait pas une requête d'une "période" à une autre "période", mais entre deux dates limites (du 1er janvier 2016 au 31 mars 2017 dans ton cas)
Intéresse-toi à l'utilisation de l'opérateur between
keunene 47 Messages postés samedi 5 avril 2014Date d'inscription 4 septembre 2017 Dernière intervention - 10 avril 2017 à 17:22
ok, je vais essayer
Commenter la réponse de ucfoutu
keunene 47 Messages postés samedi 5 avril 2014Date d'inscription 4 septembre 2017 Dernière intervention - 10 avril 2017 à 17:29
0
Utile
j'ai fait un essai avec cela.il me donne des résultats mais pas des résultats justes.c'est à dire si je recherche des infos de 12/2/2010 à 15/05/2014, il me fait aussi apparaître celles de 2016

 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Try


Dim datedebut As String = String.Format(TextBox2.Text, "dd/mm/yyyy")
Dim datefin As String = String.Format(TextBox3.Text, "dd/mm/yyyy")
Dim dt As New DataTable
Dim ds As New DataSet
ds.Tables.Add(dt)
Dim da As New OleDbDataAdapter
con.Open()
da = New OleDbDataAdapter("SELECT dati,nom FROM gloire where dati BETWEEN " & datedebut & "' and '" & datefin & "' order by dati asc ", con)
da.Fill(dt)
DataGridView1.DataSource = dt.DefaultView
con.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try




End Sub
Commenter la réponse de keunene
ucfoutu 18021 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - 10 avril 2017 à 22:07
0
Utile
Parce que tu compares des chaines de caractères au lieu de comparer des dates.
Il se trouve par exemple que "14/01/2010" est plus grand que "01/01/2020" alors que la date 14/01/2010 est plus petite que la date 01/01/2020
Mais cela, c'est le B.A.BA ...
#01/03/2014# est la notation d'une date. "01/03/2014" est une chaîne de caractères et non une date
Commenter la réponse de ucfoutu
keunene 47 Messages postés samedi 5 avril 2014Date d'inscription 4 septembre 2017 Dernière intervention - 11 avril 2017 à 14:49
0
Utile
merci pour ton aide.cela m'aidé à finalisé le logiciel
Commenter la réponse de keunene

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.