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 :

Rechercher d'une période à une période


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Mars 2013
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 70
    Points : 40
    Points
    40
    Par défaut Rechercher d'une période à une période
    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
    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
        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 pour vos soutiens

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Bonjour,

    Et c'est quoi le problème ?
    Si c'est le sql regarde du coté de between

    Comme remarque on pourra déjà te faire remarquer que les requêtes concat sont à bannir. On leurs préfère les requêtes paramétrés, par soucis de sécurité, mais aussi pour plus de confort notamment pour les conversions. Enfin que des avantages.

    Tu sembles obtenir les dates depuis des textBox, il te faudra donc valider la saisie avant, pourquoi ne pas utiliser un DateTimePicker ?

    Bon code,
    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  3. #3
    Membre du Club
    Inscrit en
    Mars 2013
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 70
    Points : 40
    Points
    40
    Par défaut
    j'ai fait un essai avec cela.il me donne des résultats mais pas des résultats justes.c'est à dire si je des infos 12/2/2010 à 15/05/2014, il me fait aussi apparaître celles de 2016
    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
    22
    23
     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
    merci

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    il est fort possible qu'il y ait un souci sur le format des dates.
    Comme l'a suggéré J@ck tu devrais passer par des vrais objets DateTime et une requête paramétrée.
    Plus je connais de langages, plus j'aime le C.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    En effet c'est surement parce que ta requête compare des chaines de caractères et non pas des dates.
    Du coup pour lui le 12/12/2012 est antérieur au 22/02/2002 car le premier caractère le 1 est inférieur à 2 ....

    Va sur des requêtes paramétrées est une fois fait tu te demandera pourquoi tu l'a pas fait avant....

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  6. #6
    Membre du Club
    Inscrit en
    Mars 2013
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 70
    Points : 40
    Points
    40
    Par défaut
    merci infiniment pour vos soutiens.vos contributions m'ont aidé à resoudre le problème

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/02/2021, 16h57
  2. [XL-2010] Copie d'un tableau d'une feuille à une autre : une cellule ne se recopie pas
    Par mchouv dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 25/07/2014, 12h47
  3. [AC-2003] recherche de doublons sur une période
    Par TLImpala dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 04/05/2012, 22h48
  4. [RegExp] Détecter des combinaisons dans une chaine une par une
    Par vermine dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/06/2010, 13h22
  5. Requête de recherche de réservation dans une période
    Par niou142 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/05/2010, 11h54

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