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 :

Problème select selon une date datagridview


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 9
    Points
    9
    Par défaut Problème select selon une date datagridview
    je possède un textbox1 où l'utilisateur peut entrer une date
    une table acces nomé "test " où "date_du_jour" est un champ de type date
    je souhaite qu'en cliquant sur un bouton ,afficher les données de la table test dans un datagridview où date_du_jour= la date que l'utilisateur a entré

    j'ai mis ce bout de code mais il m'affiche rien dans la datagridview,je suis bloqué SVP j'ai besoin de votre aide !

    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(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim jour As Date
            jour = Date.Parse(TextBox1.Text).ToString("MM/dd/yyyy")
            If Not cnn.State = ConnectionState.Open Then
                'open connection
                cnn.Open()
            End If
            Dim cmd As New OleDb.OleDbCommand("SELECT * FROM test where date_du_jour=" & jour)
     
            cmd.Connection = cnn
     
            Dim da As New OleDb.OleDbDataAdapter
            da.SelectCommand = cmd
            Dim ds As New DataSet
            da.Fill(ds)
            dgvData.DataSource = ds
     
            cmd.ExecuteNonQuery()
              cnn.Close()
     
            End Sub

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Salut,

    Il existe des contrôles pour saisir une date comme le datetimepicker....
    Avec un simple textbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jour = Convert.ToDateTime(Textbox1.Text)
    Ensuite je ne sais pas comment tu as construis ton textbox. On peut vérifier avant de convertir si ce qui est saisi dans le textbox est un format de date (j'avais eu des soucis pour des saisies tel que 37/14/2013 .... ), Soit ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsDate(Textbox1.Text) Then jour = Convert.ToDateTime(Textbox1.Text)
    Soit directement dans le TextChanged de ta Textbox .... et d'afficher un message lorsque le format de la date est incoorect

    Concernant la commande Select, il me semble qu'il faille l'écrire ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ("SELECT * FROM test where date_du_jour= '" & jour & "'")

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    merci pour me répondre
    mais j'ai suivi ce que vous me dite mais il a mis une erreur ici à la fin de l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ("SELECT * FROM test where date_du_jour= '" & jour & "'")
    mais en gardant ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ("SELECT * FROM test where date_du_jour=" & jour)
    et avec les autres modifications ça change rien, il ne m'affiche rien dans la daragridview

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Moi je définis chez moi ma OleDbCommand comme ceci (en mettant tes variables) et avant d'ouvrir la connexion :
    Dim cmd As New OleDb.OleDbCommand("SELECT * FROM test where date_du_jour= '" & jour & "'",cnn)
    Pour mon Datagridview, j'ai construis mes colonnes puis lié chaque colonne du datagridview à chaque colonne de ma base access. Dans ta base test, tu as beaucoup de données à importer pour une date précise ?

    Edit : Tu as aussi ici quelques infos utiles :
    http://plasserre.developpez.com/cour...ees2#LXVII-E-3

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    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
    Dim jour As Date
            If IsDate(TextBox1.Text) Then jour = Convert.ToDateTime(TextBox1.Text)
     
            If Not cnn.State = ConnectionState.Open Then
                'open connection
                cnn.Open()
            End If
            Dim cmd As New OleDb.OleDbCommand("SELECT * FROM test where date_du_jour= '" & jour & "'", cnn)
     
            cmd.Connection = cnn
     
            Dim da As New OleDb.OleDbDataAdapter
            da.SelectCommand = cmd
            Dim ds As New DataSet
            da.Fill(ds)
            dgvData.DataSource = ds
     
            cmd.ExecuteNonQuery()
    cnn.Close()
     
            End Sub

    toujours il m'affiche rien et ne génère pas des erreurs aussi
    j'ai pas fait la liaison des données ,j'ai presque 40 champs dans ma table test

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Re,

    Regarde le lien que je t'ai mis dans mon post précédent. C'est à peu près le même principe que toi. Tout est bien expliqué (création connexion, command, etc ...)

  7. #7
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    je pense que le problème est dans le type date ,en effet j'ai changé par un autre champ de la table test qui est de type string et le programme tourne sans erreur et affiche les données dans la datagridview sans problème

  8. #8
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    ok je vais voir

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    et comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim cmd As New OleDb.OleDbCommand("SELECT * FROM test where date_du_jour= #" & Format(jour, "M/d/yyyy") & "#", cnn)

  10. #10
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    ça n'affiche rien aussi

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Vérifie dans ta base access que tu as choisis le bon format pour la date . Short date il me semble.

  12. #12
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    le format choisi c'est Date/Heure comment le mettre a short date

  13. #13
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Salut,

    Lorsque tu es en mode création , pour ta colonne en date/Time ,
    Regarde en bas, tu as une ligne format. Fais un clic à droite du champs et tu pourras choisir dans une liste déroulante . Tu peux aussi personnaliser le format. Regarde dans l'aide d'access.

  14. #14
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    salut

    Même chose il n'affiche rien

  15. #15
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    re,

    comment fais-tu la saisie de la date dans ton textbox ?
    regarde qu'elle valeur prend la variable jour. §Tu peux faire comme celà :
    Sous la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsDate(TextBox1.Text) Then jour = Convert.ToDateTime(TextBox1.Text)
    tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox(textbox1.text & " " & jour)
    Dis moi ce qui apparait dans la fenêtre

Discussions similaires

  1. Problème de lenteur due à une selection sur une date [CR 8.5]
    Par Fredifredo dans le forum SAP Crystal Reports
    Réponses: 15
    Dernier message: 13/02/2007, 17h10
  2. Selection selon une date
    Par Ryton dans le forum Access
    Réponses: 2
    Dernier message: 25/08/2006, 16h16
  3. select sur une date de plus de x jour
    Par Zen_Fou dans le forum Requêtes
    Réponses: 4
    Dernier message: 03/04/2006, 17h14
  4. Boucle en Dos pour lister des fichiers selon une date
    Par Corben dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 17/12/2005, 12h17
  5. Problème de select sur une date (DATETIME....)
    Par zeldoi5 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/05/2005, 11h19

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