2 problèmes avec mon listView et ma base

foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008 - 27 sept. 2004 à 10:49
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008 - 28 sept. 2004 à 11:21
salut

jutilise un listview pour afficher mes données (base access)

ca marche bien mais jai 2 soucis majeurs:

- quand jinsere qqch avec mon formulaire dans VB et que je reviens a la page ou est affiché mon ListView il ne se reload pas, jai pas le dernier enregistrement et je suis obligé de quitter l'appli et revenir pour voir si ca saffiche ou pas

comment faire ?

- je voudrais pouvoir aller vers une page quand je double clic sur une ligne de mon listview

Merci

21 réponses

cs_toto1980 Messages postés 81 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 15 février 2008 1
27 sept. 2004 à 12:09
Pour la mise à jour de ta liste, moi j'utiliserais soit un bouton
soit un timer. Tu peux aussi utiliser form_activate de ton listview.

Sinon pour le click, utilise l'événement DblClick. Dans cet événement mets ton form2.show
0
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
27 sept. 2004 à 12:13
form_activate ?

dans mon form_load() je peux pas mettre une commande qui refresh le tout ?
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
27 sept. 2004 à 12:48
Dans le form_load, ça ne sera jamais rafraichi car le code qu'il y a dedans ne s'exécute qu'au moment où tu load cette form.
Il vaut mieux que tu mettes le code de remplissage de ta listview dans le form_activate. Ainsi, ta liste sera rafraichie quand tu y reviens.

PS, n'oublie pas un clear avant sinon, tu auras tout en double voire plus.

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
27 sept. 2004 à 12:55
un clear ?

sorry je debute
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
27 sept. 2004 à 13:29
En admettant que ton listview se nomme ListView1, pour le vider tu codes : ListView1.ListItems.Clear

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
27 sept. 2004 à 13:34
ok merci
et concernant le form_activate ? je dois procéder comment au juste ?

merci de ton aide cest sympa
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
27 sept. 2004 à 13:58
Donne le code de ton form_load et je te dirai. Sinon, comme j'ai écris plus haut, met le code de remplissage de ta listview dans l'évènement activate de ta form.

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
27 sept. 2004 à 14:27
jai mis mon remplilistview dans mon form_activate mais ca ne change rien
0
cs_toto1980 Messages postés 81 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 15 février 2008 1
27 sept. 2004 à 14:54
Quand tu double_click, tu ouvres une autre fenêtre, ta première form est cachée, puis tu fermes la fenetre. Donc à ce moment ta form redevient acive et l'événement Form_Activate est automatiquement appelé. Mets un point d'arrêt pour voir si tu entres dans la fonction.
0
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
27 sept. 2004 à 14:57
en fait jai tout dans ma Form et jappele des frames

Frame1 : affiche mon listview
Frame2 : formulaire de rempli

quand ca rempli ca envoi un MsgBox qui dit "enregistrement ok" et apres ca redirige vers lacceuil donc Frame1
0
cs_toto1980 Messages postés 81 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 15 février 2008 1
27 sept. 2004 à 15:29
Quand tu rediriges, il faut que tu appelles remplilistview
0
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
27 sept. 2004 à 15:37
je lai fait mais ca ne marche pas :( :(
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
27 sept. 2004 à 15:49
Fais voir ton code, parce que là, je comprend plus.

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
27 sept. 2004 à 15:55
Private Function RempliListView()
Dim li As ListItem
Dim rsListView As New ADODB.Recordset

Set rsListView = DE1.Connection1.Execute("Select * from résultats Order BY id DESC")
If rsListView.RecordCount <> 0 Then
rsListView.MoveFirst
Do

Set li = Me.ListView1.ListItems.Add(, , rsListView("date"))

'li.ListSubItems.Add , , rsListView("prenom")
li.ListSubItems.Add , , rsListView("victoire")
li.ListSubItems.Add , , rsListView("PtsMarqués")
li.ListSubItems.Add , , rsListView("nom")
li.ListSubItems.Add , , rsListView("club")
li.ListSubItems.Add , , rsListView("classement")
li.ListSubItems.Add , , rsListView("points")

Set li = Me.ListView2.ListItems.Add(, , rsListView("date"))

'li.ListSubItems.Add , , rsListView("prenom")
li.ListSubItems.Add , , rsListView("victoire")
li.ListSubItems.Add , , rsListView("PtsMarqués")
li.ListSubItems.Add , , rsListView("nom")
li.ListSubItems.Add , , rsListView("club")
li.ListSubItems.Add , , rsListView("classement")
li.ListSubItems.Add , , rsListView("points")
li.ListSubItems.Add , , rsListView("epreuve")
li.ListSubItems.Add , , rsListView("lieu")

rsListView.MoveNext

Loop Until rsListView.EOF = True

End If

End Function

Private Sub Form_Load()
RempliListView
End Sub

voila ensuite quand je clic sur enregistrer dans mon autre frame je fais ca :

sql = "SELECT * FROM Résultats"
Set rs = db.OpenRecordset(sql, dbOpenDynaset)

rs.AddNew
rs.Fields("nom") = Text3.Text
rs.Fields("prenom") = Text8.Text
rs.Fields("points") = nbr_points.Text
rs.Fields("club") = Text4.Text
rs.Fields("date") = Text6.Text
rs.Fields("lieu") = Text1.Text
rs.Fields("epreuve") = Combo1.Text
rs.Fields("PtsMarqués") = "+" & PtsGagnes2.Caption
rs.Fields("ptgagne") = PtsGagnes2.Caption
rs.Fields("ptperdu") = ptsperdu2.Caption
rs.Fields("classement") = affclassement.Caption
rs.Fields("M") = Option1.Value
rs.Fields("F") = Option2.Value
rs.Fields("victoire") = "Victoire"
rs.Update
rs.Close

MsgBox "Merci, votre résultat a été enregistré.", vbInformation + vbOKOnly
Ajout.Visible = False
Frame1.Visible = True
Frame2.Visible = True
Frame6.Visible = True
Frame7.Visible = False
Frame8.Visible = False
Command5.Visible = True
0
cs_toto1980 Messages postés 81 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 15 février 2008 1
27 sept. 2004 à 16:26
Tu n'appelles pas RempliListView juste après ton MsgBox?
0
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
27 sept. 2004 à 16:27
la non mais si je le fait cest pareil :(
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
27 sept. 2004 à 16:31
Comme dit toto1980 et puis je rajouterais pourquoi mélanges tu de l'ADO et du DAO ?

Dim rsListView As New ADODB.Recordset c'est de l'ADO
Set rs = db.OpenRecordset(sql, dbOpenDynaset) c'est du DAO

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
27 sept. 2004 à 16:34
Et puis, qu'appelles tu des frames ? pour moi c des controles qui contiennent d'autres controles. Pour certains c'est des forms, question de langage.

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
27 sept. 2004 à 16:37
nan jappele des Frame1

je les cache et je les affiche selon la rubrique que jappele
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
27 sept. 2004 à 17:02
Si tes listview sont dans des frames, ça serait bien que tu dises au prog où elles sont.
Par ex, Me.ListView1 et Me.ListView2 ça veut dire qu'elles sont sur la form (pas dans une frame) sinon Me.FrameX.ListView1 et Me.FrameX.ListView2 serait plus indiqué (X étant le numéro de ta frame).
D'autre part, comme dit <toto1980> si tu appelles RempliListView à la fin du code de ton bouton enregistrer, ça devrait le faire.

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0
Rejoignez-nous