IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

filtre


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut filtre
    Bonjour,

    Je fais le formulaire de requête de ma base de données (access) avec Visual Studio.
    Je voudrais afficher les dates de ma base y compris date1 et date2 qui sont toutes deux saisies par l'utilisateur.

    Comment dois je faire pour accomplir cela ?

    Merci de m'aider.

  2. #2
    Membre éclairé Avatar de sihammaster
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 256
    Par défaut
    Bonjour,
    Je propose que tu mettra deux DateTimePicker dans ton form, pour que l'utilisateur puissent sélectionne la date début et la date fin.
    ex: du DateTimePicker1 à DateTimePicker2
    puis dans un bouton tu affichera les informations de ta table par exemple dans un DataGrid
    Voila un Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
     Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Try
     
                AdapTContact = New OleDbDataAdapter("select * personne where (date_naissance between @d and @f ", Connection)
                AdapTContact.SelectCommand.Parameters.Add(New OleDbParameter("@d", OleDbType.Date))
                AdapTContact.SelectCommand.Parameters.Add(New OleDbParameter("@f", OleDbType.Date))
                AdapTContact.SelectCommand.Parameters("@d").Value = Me.DateTimePicker1.Value
                AdapTContact.SelectCommand.Parameters("@f").Value = Me.DateTimePicker2.Value
                AdapTContact.Fill(DtSet, "personne ")
                Dim Matable As DataTable
                Matable = DtSet.Tables("personne ")
                DataGrid1.DataSource = Matable
                Matable.Clear()
                AdapTContact.Fill(DtSet, "personne ")
                DataGrid1.Select(0)
                DataGrid1.CurrentRowIndex = 0
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    Bonne Continuation

  3. #3
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    En Access, il me semble qu'il faut utiliser des "?" et je ne suis pas sûr du BETWEEN:
    " select * personne where (date_naissance>= ?) and (date_naissance>= ?) "

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    je ne suis pas sûr du BETWEEN
    si le betwwen passe.

    Par contre pour les paramètres, il faut bien utiliser les ? et surtout les mettre dans le bon ordre par rapport à ta requête.

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut
    je vous remerci le ? passe.
    maintenant je voudrais afficher les données qui concernent les personnes de nationnalitée française dont l' age varrie entre age1 et age2.
    que faire?

  6. #6
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Il suffit de calculer les 2 dates de naissance à partir de l'age et de la date du jour.

    puis ajouter une condition dans le where :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ("select * personne where (date_naissance between ? and ?) AND (Nationalite=?) "

  7. #7
    Membre éclairé Avatar de sihammaster
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 256
    Par défaut
    slt.
    j'ai utilisé BETWEEN dans access et ca marche tres bien

Discussions similaires

  1. Algorithme d'un filtre ?
    Par Vince78 dans le forum Algorithmes et structures de données
    Réponses: 17
    Dernier message: 04/09/2002, 15h54
  2. recherche filtre flou gaussien
    Par gimlithedwarf dans le forum Langage
    Réponses: 4
    Dernier message: 01/08/2002, 22h32
  3. TADOTable et filtre
    Par GaL dans le forum C++Builder
    Réponses: 16
    Dernier message: 02/07/2002, 16h52
  4. Filtre passe Bande
    Par Mau dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 28/06/2002, 17h03
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo