Problème insertion plusieurs champs d'une requête d'une base de données dans une
jjg65
Messages postés28Date d'inscriptionmercredi 23 mars 2011StatutMembreDernière intervention16 août 2011
-
22 déc. 2010 à 14:06
jjg65
Messages postés28Date d'inscriptionmercredi 23 mars 2011StatutMembreDernière intervention16 août 2011
-
28 déc. 2010 à 20:17
Bonjour,
J'essaie d'introduire des données émanant de plusieurs champs différents d'une requête d'une base de données Access dans une listbox en vb.net.
A priori je ne réussis qu'a insérer un seul champ de la requête.
Comment pourrais-je faire pour insérer plusieurs autres champs.
Voici mon code :
Private Sub essai()
Dim cn As OleDb.OleDbConnection
Dim cmd As OleDb.OleDbCommand
Dim odr As OleDb.OleDbDataReader
Dim strSQL As String
cn = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\Users\jean-jacques\Desktop\EI\Delegue.mdb;")
strSQL = _
"SELECT FicRen_CompStadeComp.NumeroCompetitionStadeCompetition, FicRen_CompStadeComp.Date, FicRen_CompStadeComp.Heure, Clubs.NomClub, FicRen_CompStadeComp.ScoreEquipeVisitee, Clubs_1.NomClub, FicRen_CompStadeComp.ScoreEquipeVisiteuse, FicRen_CompStadeComp.AnneeRencontresChampionnat " & _
"FROM CompetitionsStadeCompetition INNER JOIN (Clubs INNER JOIN (FicRen_CompStadeComp INNER JOIN Clubs AS Clubs_1 ON FicRen_CompStadeComp.NumeroEquipeVisiteuse Clubs_1.NumeroClub) ON Clubs.NumeroClub FicRen_CompStadeComp.NumeroEquipeVisitee) ON CompetitionsStadeCompetition.NumeroCompetition_StadeCompetition = FicRen_CompStadeComp.NumeroCompetitionStadeCompetition;"
cn.Open()
cmd = New OleDb.OleDbCommand(strSQL, cn)
odr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
ListBoxFrame.Items.Clear()
Do While odr.Read
ListBoxFrame.Items.Add(odr.Item("NumeroCompetitionStadeCompetition").ToString)
'ListBoxFrame.Items.Add(odr.Item("Date").ToString)
Loop
End Sub
Si une personne bien disposée pourrait résoudre mon problème qui se situe dans mon do while je suppose.
Merci d'avance.
JJG
A voir également:
Problème insertion plusieurs champs d'une requête d'une base de données dans une
jjg65
Messages postés28Date d'inscriptionmercredi 23 mars 2011StatutMembreDernière intervention16 août 2011 22 déc. 2010 à 15:43
Le code de la ligne verte me renvoie un champ de la requête; c'est donc ok.
Le code de la ligne noire ne me renvoie rien vu que le code est inexact. Je recherche donc l'instruction valable qui me retournera un autre champs de la requête.
...
Do While odr.Read
ListBoxFrame.Items.Add(odr.Item("NumeroCompetitionStadeCompetition").ToString) 'ListBoxFrame.Items.Add(odr.Item("Date").ToString)
Loop
jjg65
Messages postés28Date d'inscriptionmercredi 23 mars 2011StatutMembreDernière intervention16 août 2011 23 déc. 2010 à 00:12
Voilà j'ai introduit le code suivant :
Do While odr.Read
ListBoxFrame.Items.Add(odr.Item("NumeroCompetitionStadeCompetition").ToString)
ListBoxFrame.Items.Add(odr.Item("Date").ToString)
ListBoxFrame.Items.Add(odr.Item("Heure").ToString)
ListBoxFrame.Items.Add(odr.Item("Clubs.NomClub").ToString)
ListBoxFrame.Items.Add(odr.Item("ScoreEquipeVisiteuse").ToString)
Loop
J'obtiens dans ma listbox une série de données émanant de ma requête qui se présente sous la forme d'une colonne alors que ce devrait être sous la forme d'une ligne.
J'en conclus que les instructions de la 2 ème à la 5 ème ligne dans le Do While sont éronées.
Dans le vb6 le code était le suivant et offrait le résultat esperé; tout sur une ligne:
While Not (rst.EOF)
ListBoxFrame.AddItem rst("NumeroCompetitionStadeCompetition")
ListBoxFrame.List(i, 1) = rst("Date")
ListBoxFrame.List(i, 2) = rst("Heure")
ListBoxFrame.List(i, 3) = rst("Clubs.NomClub")
ListBoxFrame.List(i, 4) = rst("ScoreEquipeVisitee")
'ListBoxFrame.List(i, 5) = rst("Clubs_1.NomClub")
ListBoxFrame.List(i, 6) = rst("ScoreEquipeVisiteuse")
ListBoxFrame.List(i, 7) = rst("AnneeRencontresChampionnat")
i = i + 1
rst.MoveNext
Wend
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 27 déc. 2010 à 14:22
Ok, je comprend mieux.
Je suis pas certain qu'une listbox soit capable de faire du multicolonne comme tu veux le faire.
Il vaudrait mieux utiliser un listview en mode "détails" à la place, je pense. A chaque items (1er colonne) tu peux rajouter toutes une série de subitems (les colonnes suivantes).
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
jjg65
Messages postés28Date d'inscriptionmercredi 23 mars 2011StatutMembreDernière intervention16 août 2011 28 déc. 2010 à 20:17
Ok merci pour la réponse.
La listbox m'a donné trop de fil à retordre, je suis passé à la listview avec + de réussite.
Dire que la listbox en vb6 me donnait un résultat satisfaisant.