none
base de donne et listbox RRS feed

  • Question

  • Bonjour

    voila mon problème et que je n'arrive pas a récupéré une valeur dans ma listbox.

    voici mon code pour la base de donnée:

    -------------------------

    ListBox1 .Items.Clear
            'Extraction des données et chargement du DataSet
            DeuxHuit1TableAdapter1.Fill(Base1DataSet1.DeuxHuit1)
            Dim query = From Article In Base1DataSet1.DeuxHuit1.AsEnumerable() Where Article.Article = TextBox5.Text
            For Each P In query
                ListBox1.Items.Add(P.Nom.ToString)
            Next

    -------------------------

    donc les info entre dans mon textbox son bien prit et les info demande a la base de donnée sont bien dans ma listbox.

    Maintenant ( voila le problème ) c'est que quand je clic pour sur un item sans ma listbox sa lance un code pour recuperer d'autre donnée dans la base, le problème

    c'est que le code passe 3 fois l'info ( j'ai 3 entrer dans ma base de donnée) est me donne la valeur dans mon textbox mais le problème c'est que c'est la meme pour

    n'importe quel item selectionner alors que non.

    voici le code ( qui ce trouve dans : ListBox1_SelectedValueChanged ou j'ai essayer aussi dans ListBox1_Click )

    -----------------------------

            ClearTextBoxes()
            Dim FPTableAdapter = New base1DataSetTableAdapters.DeuxHuit1TableAdapter
            FPTableAdapter.Fill(Base1DataSet1.DeuxHuit1)
            Dim query = From info In Base1DataSet1.DeuxHuit1.AsEnumerable Select info
            For Each P In query
                TextBox10.Text = (P.info.ToString)
            Next

    ----------------------------

    Voila en ésperent avoire etait clair , Merci pour votre aide


    .::ZeroC00L::.

    • Modifié AcideBl00D vendredi 8 avril 2011 18:13 Modif texte
    vendredi 8 avril 2011 17:22

Réponses

  • bonjour

     

    on à réussit a m'aidez pour mon problème via ce site

    http://www.developpez.net/forums/d1064008/dotnet/langages/vb-net/listbox-textbox-base-donnee-local/#post5908596

    je te remercie Papy Normand pour m'avoir accorder de ton temps pour résoudre mon problème.

    Merci à toi


    .::ZeroC00L::.
    • Marqué comme réponse AcideBl00D vendredi 15 avril 2011 14:09
    vendredi 15 avril 2011 14:09

Toutes les réponses

  • je vient de faire des test

    voici mon code dans l'évènement " ListBox1_Click "

    -----------------------

     Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click
            ClearTextBoxes()
            ListBox1.SelectedItem = Base1DataSet1.DeuxHuit1
            Dim query = From info In Base1DataSet1.DeuxHuit1.AsEnumerable Select info.info
            TextBox10.Text = query.ToString
            Refresh()

        End Sub

    -------------------------

    voici ce qui s'affiche dans mon TextBox10 ( System.Data.EnumerableRowCollection`1[System.String] )

    alors que je devrait avoir ma valeur qui ce trouve dans Info.

    Merci pour votre aide


    .::ZeroC00L::.
    vendredi 8 avril 2011 18:39
  • Bonjour à tous

     

    Personne aurais une petite solutions ?? je suis en train de développer un programme pour une entreprise, mais la je Bloque sa fait 3 jours que j'essaye :s

     

    sur mais 3 valeurs qui ce trouve dans ma base de donner j'ai : 500g - 500g - 50g

    sur mon problème de mon premier post dans l'événement ListBox1_SelectedValueChanged le code lit les 3 valeur et afiche la valeur 50g dans mon Textbox ,

    peut import quel valeur je sélectionne dans ma listbox, il lit les 3 et m'affiche 50g , au lieu de m'afficher la valeur de l'item sélectionner.

    MErci


    .::ZeroC00L::.
    samedi 9 avril 2011 06:45
  • Bonjour,

    Vous semblez extraire des données d'un dataset, mais je ne vois pas comment vous chargez ce dataset.

    Je ne comprends pas non plus ce code :

    "Dim query = From info In Base1DataSet1.DeuxHuit1.AsEnumerable Select info.info
            TextBox10.Text = query.ToString"

    C'est du Linq, du EF4 ?

    Est-ce que vôtre problème est lié à ceci ?

    http://social.msdn.microsoft.com/Forums/fr-FR/vbasicfr/thread/76979d46-4c48-440a-9845-c8a14c067512

    Bonne journée

    PS : je suis franchement désolé , mais je suis vraiment géné par votre orthographe un peu faible et m'empêche de me consacrer à une tâche essentielle : vous aider à résoudre vôtre problème


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    • Modifié Papy Normand samedi 9 avril 2011 11:02 Liaison avec un autre thread ?
    samedi 9 avril 2011 10:58
  • ( excusez moi pour mon orthographe patte de mouche)

    Merci de m'aidez

    j'ai post sur ce même problème qui je pense être le même que moi.

    pour le code que vous ne comprenez pas c'est des bout de code extrait dans des page d'aide de visual basic (l'aide).

    voici le lien de la source du code que vous ne comprenez pas : http://plasserre.developpez.com/cours/vb-net/?page=bases-donnees3

    dans la partie "XVII-H. LINQ et les bases de données " au Numéros 3 - Interroger le DataSet avec Linq:

     

    voici mon code en entier.

     

    Imports System.Data.Linq
    Imports System.Data
    Imports System.Data.DataSet
    Imports System.Data.SqlClient
    
    
    Public Class Form1
    
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     ListBox1.Items.Clear()
     'Extraction des données et chargement du DataSet
     DeuxHuit1TableAdapter1.Fill(Base1DataSet1.DeuxHuit1)
     Dim query = From Article In Base1DataSet1.DeuxHuit1.AsEnumerable() Where Article.Article = TextBox5.Text
     For Each P In query
     ListBox1.Items.Add(P.Nom.ToString)
     Next
     End Sub
    

     

     

    voila pour répondre aussi pour le système que j'utilise c'est : Visual basic 2010 express.

    MErci encore pour voter aide.


    .::ZeroC00L::.


    • Modifié AcideBl00D samedi 9 avril 2011 11:40 ajout information
    samedi 9 avril 2011 11:30
  • bon je suis perdu la :s j'arrive a rien, voila les modif que j'ai apporter et qui me donne +/- quelque chose:

     

    Imports System.Data.Linq
    Imports System.Data
    Imports System.Data.DataSet
    Imports System.Data.SqlClient
    Imports System.Data.Common
    
    Public Class Form1
    
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      ListBox1.Items.Clear()
      'Extraction des données et chargement du DataSet
      DeuxHuit1TableAdapter1.Fill(Base1DataSet1.DeuxHuit1)
      Dim query = From Article In Base1DataSet1.DeuxHuit1.AsEnumerable() Where Article.Article = TextBox5.Text
      For Each P In query
       ListBox1.Items.Add(P.Nom.ToString)
      Next
     End Sub
    
     Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
      'Extraction des données et chargement du DataSet
      ListBox1.SelectedItem.ToString()
      Dim query = From info In Base1DataSet1.DeuxHuit1.AsEnumerable() Where info.info.ToString
      For Each P In query
       TextBox10.Text = (P.info.ToString)
      Next
     End Sub
    End Class
    

     

    j'ai ce message d'erreur une foie l'item sélectionner dans ma listbox:

     

    "La conversion de la chaîne "500 g" en type 'Boolean' n'est pas valide."


    .::ZeroC00L::.
    samedi 9 avril 2011 14:16
  • Bonjour,

    Je viens de découvrir que dans votre exemple, il y a utilisation de l'inférence, la pire notion que l'on ait inventé en programation ( définition d'une variable sans déclaration de type ). C'est la meilleure façon de rendre un programe ou du code complètement illisible et inmaintenable. J'espère que Microsoft ne va pas sortir d'autres hérésies du même type sinon je vais renier Microsoft que je défends bec et ongles depuis plus de 20 ans.

    Je vais quand même regarder vôtre problème avec la plus grande attention, mais celà risque de mettre plus de temps que je n'avais prévu.

    Bonne journée


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    samedi 9 avril 2011 16:52
  • Bonsoir MErci encore à toi de consacrer de temps pour m'aider.

    je chercher toujours de mon coter mais c'est dur :).


    .::ZeroC00L::.
    samedi 9 avril 2011 16:55
  • Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
     'Extraction des données et chargement du DataSet
     ListBox1.SelectedItem.ToString()
     Dim query = From info In Base1DataSet1.DeuxHuit1.AsEnumerable() Where info.info.ToString() = ListBox1.SelectedItem.ToString()
     For Each P In query
      TextBox10.Text = (P.info.ToString)
     Next
     End Sub
    
    Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged 'Extraction des données et chargement du DataSet Dim query = From info In Base1DataSet1.DeuxHuit1.AsEnumerable() Where info.info.ToString = ListBox1.SelectedItem.ToString() For Each P In query TextBox10.Text = (P.info.ToString) Next End Sub
    Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged 'Extraction des données et chargement du DataSet ListBox1.SelectedItem.ToString() Dim query = From info In Base1DataSet1.DeuxHuit1.AsEnumerable() Where info.info.ToString() = ListBox1.SelectedItem.ToString() For Each P In query TextBox10.Text = (P.info.ToString) Next End Sub

    Rebonjour,

    Je préfère largement VC# mais comme dans certains forums consacrés à SQl Server , on m'a souvent demandé des exemples en VB, je les ai toujours écrit avec plaisir car je sais que celà rend service au créateur du fil ( thread en anglais ). Mon 1er programe , je l'ai écrit en Septembre 1967, j'ai appris et utilisé plus de 10 langages et un nouveau ne me dérange pas à condition qu'il soit logique et qu'il permette d'écrire du code lisible et facilement modifiable. Or l'utilisation de l'inférence simplifie l'écriture du code , mais bonjour la maintenance qui n'en est que plus compliquée et risquée. L'inférence de VB correspond à l'utilisation du mot clé var en VC# , tant critiquée par nombre de développeurs VC#, car, en général, ils prennent plus facilement la facilité de la maintenance.

    Pour le moment, vôtre problème est surtout vôtre message d'erreur

    "La conversion de la chaîne "500 g" en type 'Boolean' n'est pas valide."

    Vous êtes en train de tenter de charger une chaîne de caractères 500 g dans une variable de type Boolean

    Par contre , pourriez-vous préciser comment est défini info.info.ToString()

    En écrivant cette dernière ligne de code ( je termine toujours une fonction par () même s'il n'y a pas de paramètre , habitude provenant du C) : comment est-ce possible d'avoir une condition where sur une chaîne de caractères sans opérateur de comparaison et un String à comparer ? Je pense que vôtre code devrait être quelque chose comme :

    Dim query = From info In Base1DataSet1.DeuxHuit1.AsEnumerable() Where info.info.ToString() = ListBox1.SelectedItem.ToString()

    D'ailleurs, la chaine ListBox1.SelectedItem.ToString() n'a rien à faire comme 1ére ligne dans le code de la méthode

    Private Sub ListBox1_SelectedValueChanged

    Pourriez-vous regarder celà ? ( ce n'est qu'une suggestion qui ne me semble pas compètement illogique )

    Bonne journée

    PS : le code devrait être  

    Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
     'Extraction des données et chargement du DataSet
     ListBox1.SelectedItem.ToString()
     Dim query = From info In Base1DataSet1.DeuxHuit1.AsEnumerable() Where info.info.ToString() = ListBox1.SelectedItem.ToString()
     For Each P In query
      TextBox10.Text = (P.info.ToString)
     Next
     End Sub
    


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    • Modifié Papy Normand samedi 9 avril 2011 17:52 ajout du post-scriptum avec code corrigé
    samedi 9 avril 2011 17:33
  • " Par contre , pourriez-vous préciser comment est défini info.info.ToString() "

    je les définie via les paramètre que me donne VB. si je mais comme suis " info.ToString() j'avais un message d'erreur ou sinon il me donner la première lettre du mots dans la table Nom.

    je test sa de suite merci.


    .::ZeroC00L::.
    samedi 9 avril 2011 17:50
  • je vient d'essayer mais cela ne me retourne aucun valeur dans mon TextBox10.

     

    ps: j'ai code mon programme comme ceci mais il y a pas grand chose si il faut le coder autrement pour arrivé a faire ce que je veut il n'y a pas de problème

     


    .::ZeroC00L::.
    samedi 9 avril 2011 18:07
  • je ne c'est pas si je me suit bien expliquer la première foie, mais avec ce code :

     

     Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
      Dim FPTableAdapter = New base1DataSetTableAdapters.DeuxHuitTableAdapter
      FPTableAdapter.Fill(Base1DataSet1.DeuxHuit)
      Dim query = From info In Base1DataSet1.DeuxHuit.AsEnumerable Select info
      For Each P In query
       TextBox10.Text = (P.info.ToString)
      Next
     End Sub
    

     

    il me retourne bien mais valeur qui ce trouve dans ma Table Info, mais le problème c'est qu'il me retourne les 3 valeur de ma table Info

    voici ma base:

    RefCat nvarchar(100)

    Nom nvarchar(100)

    Client nvarchar(100)

    RefExt nvarchar(100)

    Article nvarchar(100)

    Lieu nvarchar(100)

    info nvarchar(100)

    ils y a 3 ligne dans ma base( pour le moment)

    si sa peut aussi t'aider.


    .::ZeroC00L::.
    samedi 9 avril 2011 18:36
  • Rebonjour,

    J'avais rajouté un post-scriptum à mon dernier post dans lequel je vous donnais le code modifié pour la méthode ListBox1_SelectedValueChanged. Avez-vous testé ce code ? ( j'ai modifié le post environ 20 minutes après son envoi )

    Dans votre dernier post, si vous ne rajouté pas la condition where , vous obtiendrez toutes les valeurs et non la valeur sélectionnée dans votre listbox.

    Bonne journée


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    samedi 9 avril 2011 19:10
  • j'ai essayer les code qu'il y a dans votre précédent post mais marche pas non plus aucune valeur et retourner dans le textbox.

    j'ai ajouter la condition Where mais j'ai un message d'erreur:

      Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
        Dim FPTableAdapter = New base1DataSetTableAdapters.DeuxHuitTableAdapter
        FPTableAdapter.Fill(Base1DataSet1.DeuxHuit)
        Dim query = From info In Base1DataSet1.DeuxHuit.ToString() Where info.ToString() Select info
        For Each P In query
          TextBox10.Text = P.ToString
        Next
      End Sub
    

    " La conversion de la chaîne "D" en type 'Boolean' n'est pas valide. "

    MErci pour votre aide


    .::ZeroC00L::.
    samedi 9 avril 2011 19:32
  • Rebonjour ,

    Après le where il doit y avoir du code comme variable = valeur.

    si après le where vous avez  "info.ToString() Select info", vous n'avez aucun opérateur de comparaison , par contre info.ToString() renvoie peut-être D et ce n'est pas une valeur booléenne ( vrai/faux 0/1...) D'où vôtre message d'erreur.

    Par contre, je suppose que dans vôtre where vous devriez trouver une référence à la valeur selectionnée de votre ListBox1.Or je n'en vois pas...

    Bonne journée

     


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    samedi 9 avril 2011 19:48
  • je n'est pas de référence a mon listbox  dans les paramétré que me donne VB, ma listbox et vide quand je lance le programme , je la charge a partir de mon textbox1.
    .::ZeroC00L::.
    samedi 9 avril 2011 20:37
  • Bonjour,

    Oh, je dois être bien fatigué pour ne pas comprendre votre code .Je l'ai relu

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     ListBox1.Items.Clear()
     'Extraction des données et chargement du DataSet
     DeuxHuit1TableAdapter1.Fill(Base1DataSet1.DeuxHuit1)
     Dim query = From Article In Base1DataSet1.DeuxHuit1.AsEnumerable() Where Article.Article = TextBox5.Text
     For Each P In query
      ListBox1.Items.Add(P.Nom.ToString)
     Next
     End Sub
    
    

    Est-ce qu'il ne faudrait pas mettre un ListBox1.Refresh() juste avant le End Sub ?

    http://msdn.microsoft.com/en-us/library/yd78e7x3(v=VS.90).aspx

    Essayez de rajouter le Refresh() qui force le réaffichage de la listbox.

    Si la ListBox est vide , il se pourrait que ce soit la variable query qui ait un problème.Dans ce cas , rajoutez un compteur que vous incrementerez à chaque passage dans la boucle et vous afficherez un MessageBox avec la dernière valeur de ce compteur.

    Dim moncompteur as Int32 = 0

    For Each P in query

          ListBox1.Items.Add(P.Nom.ToString)

          moncompteur += 1

    next

    MessageBox.Show(moncompteur.To String & " boucles")

    Bonne journée

    PS : quand j'ai copié votre code , j'ai cliqué sur le bouton Envoyer au lieu de faire le coller, ce qui explique le post un peu vide dans sa 1ère version ( je fatigue, j'ai passé trop de temps sur le forum SQL Server Data Access )


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.

    • Modifié Papy Normand samedi 9 avril 2011 21:10 Post complété
    samedi 9 avril 2011 20:52
  • :s toute mais excuse, si c'est plus simple de le refaire y'a cas.

    en fait je cherche a faire ceci, je c'est plus si je les expliquer:

    je rentre une référence dans mon textbox1 qui recupére la ligne corespondante dans la base de donnée et qui m'affiche la Valeur Nom dans ma ListBox ( jusque la sa marche enfin je pense) une foie le listbox charger avec mais Nom, je sélectionne un item qui me Renvoie les Autre Valeur de ma database dans un Autre Texbox (pour le moment).

    voila

    Merci encore


    .::ZeroC00L::.
    samedi 9 avril 2011 21:13
  • bonsoir

    voici ce que j'ai essayer de mon coter avec votre aide:

      Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
        Dim FPTableAdapter = New base1DataSetTableAdapters.DeuxHuitTableAdapter
        FPTableAdapter.Fill(Base1DataSet1.DeuxHuit)
        Dim query = From info In Base1DataSet1.DeuxHuit() Where ListBox1.Items(info.Info) Select info
        For Each P In query
          TextBox10.Text = P.ToString
          TextBox10.Refresh()
        Next
      End Sub
    

    mais j'ai sa comme erreur plus Boolean mais integer :

    "La conversion de la chaîne "500 g" en type 'Integer' n'est pas valide."

    pour la réponse du compteur sa me maque 2 Boucles. est le refresh ne fait rien.

    Merci


    .::ZeroC00L::.
    samedi 9 avril 2011 21:46
  • Rebonjour,

    Je suis désolé, mais votre réponse est écrite dans un tel français que je ne comprends rien.Même sur les forums américains, je n'ai jamais  d'anglais aussi incompréhensible , et pourtant, ce sont des gens de tous pays qui écrivent (France,Suède,Inde même Ethiopie ) mais ils font l'effort d'écrire en ne faisant que 1 ou 2 fautes en 10 lignes.J'ai une migraine carabinée, des maux d'estomac à force d'essayer de comprendre ce que vous écrivez. J'arrète car je vais me mettre en colère;Je ne suis qu'une personne qui cherche à dépanner les personnes qui posent des questions sur les forums français.Je préfère retourner sur les forums us pour SQL Server où quand un "poster" se fait rappeler à l'ordre car son anglais rend son texte incompréhensible, il fait l'effort d'écrire correctement.C'est une des règles que l'on se doit de respecter.

     


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    samedi 9 avril 2011 22:22
  • Votre query est faux .Corrigez le.

    ListBox.Items est une collection . Voir

    http://msdn.microsoft.com/fr-fr/library/system.windows.forms.listbox.items(v=VS.90).aspx

    ListBox1.Items(val) permet d'accéder à l'élément val + 1 de la collection. Et je ne pense pas que info.info soit de type entier ( le message d'erreur est clair 500 g) , val est un indice , pas une valeur chaine de caractères

    Bonsoir et revoyez les collections


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    samedi 9 avril 2011 22:39
  • Bonjour

    Je m'excuse de mon Français pathétique.

    Encore Merci de m'avoir aidez et de m'avoir apporter des solutions.

    je vais voir pour affiché mais information autrement.

    @ bientôt


    .::ZeroC00L::.
    dimanche 10 avril 2011 08:21
  • Bonjour,

    Je suis désolé pour mes réponses d'hier, mais j'étais fatigué après avoir plus de 10 heures sur les forums aussi bien américains que français, d'où un certain énervement de ma part.

    Je propose que nous changions de méthode et je propose de régler problème après problème, ce qui permettra d'aller plus vite et j'espère que la solution appliquée pour résoudre un problème pourra soit être appliquée au problème suivant, soit pourra servir de base pour résoudre vôtre problème suivant. Par contre, j'essaierai de vous expliquer le plus simplement possible l'origine de chaque problème et de vous proposer des solutions ( car il est très rare qu'il n'y ait qu'une solution ) avec leurs avantages et désavantages.Malheureusement, je ne pourrai pas toujours vous répondre immédiatement : il me faut du temps pour chercher dans la documentation ( et la meilleure est bien souvent en anglais , sans traduction en français ), pour tester la/les solution(s) et écrire ma réponse de telle sorte que tout le monde puisse me comprendre. De plus, j'ai 2 forums américains qui me passionnent SMO/DMOP et SQL Server Data Access et il faut bien que je leur consacre du temps ( au minimum les déplacements des fils d'un forum à un autre ou marquer les bonnes réponses quand la personne qui a initié le fil ne le fait pas )

    Pour pouvoir vous aider de la façon la plus optimale, pourriez-vous me dire quel est vôtre niveau de connaissances en Visual Basic,SQL Server,LinQ et programmation des écrans Windows ? Je ne cherche pas à vous vexer, simplement à me mettre à vôtre niveau de façon à résoudre chaque problème le plus rapidement possible. Quel est vôtre niveau en Anglais ? ( toute la documentation anglaise de la librairie MSDN/TECHNET n'a pas été traduite en français, c'est par exemple le cas de ce que les américains appelent les "white papers", documents faits en majeure partie par des personnes ne faisant pas ou plus partie de Microsoft mais très interessants ).Avez-vous déjà utilisé ADO.Net avant de commencer LinQ ? ( c'est la meilleure façon d'opérer, surtout bquand on sait que LinQ va disparaître si Entity Framework a le succés souhaité par Microsoft ).

    Dans vôtre dernière réponse d'hier, vous en étiez au chargement de TextBox10. Avez-vous réussi à obtenir le bon résultat et vôtre problème d'indice ?

    A bientôt

    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    • Modifié Papy Normand dimanche 10 avril 2011 09:39 Dernière ligne supprimée
    dimanche 10 avril 2011 09:31
  • ce n'est pas grave, je peut comprendre.

    mon niveau et débutant ( j'ai arrêter depuis très longtemps et je me souvient pas de grand chose) sql server ( rien) linQ ( rien)

    programmation écran Win ? mon niveau en anglais et débutant/moyen :), pour l'utilisation Ado.net pas servie avant d'avoir eu l'idée de ce logiciel.

    pour le textbox10, non toujours pas. j'ai fait des essais avec ceci :

     

     Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
     DeuxHuit1TableAdapter1.Fill(Base1DataSet1.DeuxHuit)
     Dim query = From ListBox1 In ListBox1.SelectedItems Where ListBox1.ToString() = ListBox1.ToString()
     Dim moncompteur As Int32 = 0
     For Each P In query
      TextBox10.Text = (P.ToString)
      moncompteur += 1
      Refresh()
     Next
     MessageBox.Show(moncompteur.ToString & " boucles")
     End Sub
    

     

    mais j'obtiens le nom de l'item sélectionner dans mas listbox.

    Merci d'aider un Programmeur de très moyenne classe.

     

    Ceci me retourne False dans mon Textbox10 avec 62 boucles.

     

     Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
      DeuxHuit1TableAdapter1.Fill(Base1DataSet1.DeuxHuit)
      Dim query = From info In DeuxHuit1TableAdapter1.ToString Select DeuxHuit1TableAdapter1.ToString = info.ToString()
      Dim moncompteur As Int32 = 0
      For Each P In query
       TextBox10.Text = (P.ToString)
       moncompteur += 1
      Next
      MessageBox.Show(moncompteur.ToString & " boucles")
     End Sub
    

    et celle-ci la valeur True dans mon TexteBox10 avec 8 Boucles.

      Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        Dim query = From info In Base1DataSet1.DeuxHuit.ToString() Select info.ToString() = info.ToString()
        Dim moncompteur As Int32 = 0
        For Each P In query
          TextBox10.Text = (P.ToString)
          moncompteur += 1
        Next
        MessageBox.Show(moncompteur.ToString & " boucles")
      End Sub


    .::ZeroC00L::.

    • Modifié AcideBl00D lundi 11 avril 2011 18:30 Ajout information
    lundi 11 avril 2011 17:53
  • Bonjour,

    Youpee, une bonne nouvelle !!Cela me fait vraiment plaisir.

    Quand j'ai commencé l'informatique de gestion en 1983 ( après 5 années d'informatique scientifique ), je suis tombé sur un chef de projet qui venait du Bangladesh, qui a passé beaucoup de temps avec moi. En 6 mois, il m'a appris le Cobol et le SPL ( le langage systeme du HP3000, à mi-chemin entre l'assembleur et le C ) et un an après j'étais ingénieur système, et DBA. Mais ma tache principale était d'aider mes collègues à déboguer leurs programmes et surtout à leur expliquer l'origine de leurs erreurs et à les éviter.Tâche harrassante mais qui m'a permis d'apprendre à avoir de la patience vis à vis d'autres personnes et à essayer de savoir expliquer ( amusant, car quand j'avais 10 ans, je voulais devenir professeur et c'est finalement ce que je faisait) , mais aussi qui m'a très souvent apporté beaucoup de plaisir quand le développeur comprenait son erreur et de lui même corrigeait 2 ou 3 autres erreurs du même genre.

    Désolé, mais je vais aller diner et après je vais regarder votre post avec plus d'attention car je crois avoir vu 2 ou 3 petites choses qui me chagrinent mais je préfère vérifier. Je reposterai d'ici 1 heure (environ)

    A bientôt


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    lundi 11 avril 2011 18:54
  • bonsoir

    Votre parcoure a l'air bien intéressant :).

    j'ai remanier mon un  peut mon code :

     

    Imports System.Data
    Imports System.Data.Linq
    Imports System.Data.DataSet
    Imports System.Data.SqlClient
    Imports System.Data.Common
    
    Public Class Form1
    
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     End Sub
    
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     'Création d'un TableAdapter
     Dim FPTableAdapter = New base1DataSetTableAdapters.DeuxHuitTableAdapter
     'Extraction des données et chargement du DataSet
     FPTableAdapter.Fill(Base1DataSet1.DeuxHuit)
    
     ListBox1.Items.Clear()
     Dim query = From DeuxHuit In Base1DataSet1.DeuxHuit.AsEnumerable() Where DeuxHuit.Article = TextBox5.Text
     Dim moncompteur As Int32 = 0
     For Each P In query
     ListBox1.Items.Add(P.Nom.ToString)
     moncompteur += 1
     Next
     MessageBox.Show(moncompteur.ToString & " boucles")
     ListBox1.Refresh()
    
     End Sub
     Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
      DeuxHuitTableAdapter1.Fill(Base1DataSet1.DeuxHuit)
      Dim query = From DeuxHuit In Base1DataSet1.DeuxHuit.AsEnumerable() Select DeuxHuit.Info, ListBox1.SelectedItem Distinct
      Dim moncompteur As Int32 = 0
      For Each P In query
       TextBox10.Text = (P.Info.ToString())
       moncompteur += 1
      Next
      MessageBox.Show(moncompteur.ToString & " boucles")
     End Sub
    

    End Class

     

    avec ceci j'obtiens ma valeur 50g avec 2 boucles( qui correspond à mais deux Item dans la listbox)  , par contre il retourne cette valeur pour mais 2 items sélectionner dans la listBox, alors que sa devrait être 50g ou 500g suivant quelle Item je sélectionne.

    je c'est pas si j'avance mais bon.

    @ bientôt

     


    .::ZeroC00L::.



    • Modifié AcideBl00D mardi 12 avril 2011 18:00 ajout info
    mardi 12 avril 2011 17:09
  • Bonjour, AcideBl00D,

     

    Avez-vous réussi a résoudre votre problème ?

     

    Merci !

     

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    jeudi 14 avril 2011 10:39
  • Bonjour,

    Je suis désolé mais j'avais un programme  de paie à modifier en urgence  et je n'ai ps eu de temps à vous consacrer.

    Essayez de modifier le query de la méthode ListBox1_SelectedIndexChanged car il vous manque une clause where pour ne sélectionner qu'1 seul enregistrement.

    1ère remarque : changer vos noms de contrôle de façon à avoir un nom compréhensible par exemple :

    ListBox1 ==> NomListBox ( celà rendrait plus lisible vôtre programme et on peut savoir que cette listbox contient les noms des articles )

    TextBox1 ==> InfoTextBox

    En ce qui concerne l'utilisation d'un item sélectionné d'une ListBox, il faudrait que je regardiez :

    http://msdn.microsoft.com/fr-fr/library/system.windows.forms.listbox.selecteditem(v=VS.90).aspx

    SelectedItem est un Object non une chaîne de caractères , donc quand vous voulez comparer la valeur d'une variable à la valeur de ListBox1.SelectedItem.ToString()

    Autre chose : je suppose que vous voulez ne sélectionner qu'un seul item dans vôtre ListBox . Il faut mettre

    listBox1.SelectionMode = SelectionMode.One ( vous pouvez le définir dans l'environment graphique de vôtre Visual Studio

    Poour vôtre chaine query, regardez la méthode précédente où vous avez

    where DeuxHuit.Article = TextBox5.Text

    Adaptez ce where  à la valeur à tester dand vôtre 2ème méthode, sans doute quelque chose comme :

    ListBox1.SelectedItem.ToString() = P.Nom

    Je pense que plutôt de vous lancer dans Linq ( qui n'est pas le sujet de ce forum ), je vous suggèrerai de bien étudier comment utiliser une TextBox, une ListBox ou une DataGridView. Etudiez aussi ADO et notamment comment bien utiliser une SqlConnection, une SQLCommand, une DataTable ou un DataSet.C'est suffisamment complexe sans que vous rajoutiez les problèmes de Linq.

    J'ai mis 2 ans à bien comprendre comment utiliser toutes ces classes et à comprendre leur finesses.

    Un petit conseil : commencez simple et quand vous connaissez bien les controles Windows Form , passer à ADO.Net.QSuant à Linq, tant que vous n'aurez pas maîtrisé lle SELECT de Transact-SQL, je vous déconseillerai de vous préoccuper de Linq.

    Je prends quelques jours de vacances, donc , je ne pourrai pas vous répondre jusqu'à la fin de semaine prochaine.

    Bonne journée


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    vendredi 15 avril 2011 11:05
  • bonjour

     

    on à réussit a m'aidez pour mon problème via ce site

    http://www.developpez.net/forums/d1064008/dotnet/langages/vb-net/listbox-textbox-base-donnee-local/#post5908596

    je te remercie Papy Normand pour m'avoir accorder de ton temps pour résoudre mon problème.

    Merci à toi


    .::ZeroC00L::.
    • Marqué comme réponse AcideBl00D vendredi 15 avril 2011 14:09
    vendredi 15 avril 2011 14:09