Affiché 3 données [VB6]

Signaler
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
-
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
-
bonjour
j'enregistre une dizaine de données dans une base ACCESS avec VB6 ,mais comment faire pour afficher dans 3 textboxs 3 données de mon dernieres enregistrement .
merci
@plus
petchy

11 réponses

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
20
Salut,



En supposant que rs soit de type RecordSet et tu y recueilles les résultats d'une requête en BDD.



Text1.Text = rs(0)

Text2.Text = rs(1)

Text3.Text = rs(2)



ceci, pour récupérer les 3 premières colonnes. A toi de faire varier les chiffres pour récupérer les colonnes que tu souhaites.

Manu
<hr size ="2" width="100%">Avant de poster un message, n'oubliez pas de consulter le règlement.
Pensez à préciser
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
salut Manu
il n'y à rien qui s'affiche dans les textboxs,en fait c'est 3données du derniers enregistre que je voudrais récupéré .
petchy
Messages postés
135
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
14 février 2013

Essaie rs.movelast

ensuite récupère tes données simplement : rs![donnee1]...

Jer
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
salut Jer
merci de ta réponse ,mais peut tu me donné plus de précisions sur "movelast" car ça ne fonctionne pas.
merci
petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
Re
voila j'ai essayé ça ,mais rien qui s'affiche
Rs.MoveLast
Text1.Text = Rs(11)
Text3.Text = Rs(12)
Text4.Text = Rs(13)
quelqu'un aurait une idée
merci
petchy
Messages postés
794
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
5
Salut petchy, salut à tous,

si tu veux, affiches ta requête, qu'on se fasse une idée plus précise.
Affiches aussi tes déclarations de variables RS et DB.
et puis aussi l'exécution de la requête.
et ce que tu fais avant le MoveLast.

Bon, mets plus de code! (pas trop quand même :) )

à+

rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
salut
merci de t'intéressé à mon bleme,voila dans quoi je met mon "movelast"
Private Sub Form_Activate()



If LoLo = False ThenIf Combo_genre "Dessin Animé" Or Combo_genre "Animation" Then
combo_etag.Enabled = False
combo_rang.Enabled = False
combo_Empla.Enabled = False
Else
combo_etag.Enabled = True
combo_rang.Enabled = True
combo_Empla.Enabled = True
End If
Me.Caption = "Modification de film"
Label16.Visible = True
Label15.Visible = False
End If
If LoLo = True Then
Label15.Visible = True
Label16.Visible = False
Combo2.ListIndex = 0
Combo_genre.ListIndex = 0
Combonote.ListIndex = 0
combo_etag.ListIndex = 0
combo_rang.ListIndex = 0
combo_Empla.ListIndex = 0
Txt_Date = Date
Txt_Titre.SetFocus
Frm_Accueil.Image5.Visible = True
Else
Set Rs = New ADODB.Recordset
Rs.Open "select * from Film where code_film=" & CodeFilm, db, adOpenDynamic, adLockOptimistic

Rs.MoveLast
Text1.Text = Rs(11)
Text3.Text = Rs(12)
Text4.Text = Rs(13)


Txt_Titre = Rs!nom_film
Text2.Text = Rs!langue_Film
Combo_genre.Text = Rs!type_film
Combo2.Text = Rs!format_film
Combonote.Text = Rs!cd_film
combo_etag.Text = Rs!etag_film
combo_rang.Text = Rs!rang_film
combo_Empla = Rs!empla_film


End If


End Sub
voila,aurais tu une idée
merci
petchy
Messages postés
794
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
5
Mouais, bon,

d'abord, fonctionnellement, pour être sûr.
-1./ Quand tu dis "afficher dans 3 textboxs 3 données de mon dernieres enregistrement", tu veux dire :
- dans ma table, qui comporte plusieurs enregistrements (lignes), je veux récupérer les valeurs des colonnes 11, 12 et 13 de la table restreinte(SELECT * FROM Film, donc la table, WHERE Code_film= valeur, donc peut-être une seule réponse), et ce, uniquement pour la dernière ligne de la table (les autres, je les ignore)?
- dans ma table, qui comporte plusieurs enregistrements, mais que je restreint à un seul enregistrement (parce que code_film est unique), je veux récupérer les 3 dernières colonnes de l'enregistrement (soit la 11ème, 12ème et 13ème colonnes)?

ensuite, techniquement.
- 2./ Tu écris "Txt_Titre = Rs!nom_film", récupères-tu une valeur? Ou, plus précisément, ta requête renvoie-t-elle au moins un enregistrement? Non, vide?
- 3./ Souhaites-tu aussi que Rs!nom_film soit celui du dernier enregistrement?
- 4./ Pourquoi ne spécifies-tu pas le nom des 3 colonnes dont on parle? (la 11, 12 et 13)
- 5./ Tu devrais tester s'il y a des réponses. Après Rs.Open , tu devrais écrire :
If Not Rs.EOF Then
'ne faire tes affectations ou ton MoveLast qu'ici
End If
et éventuellement, juste pour tester, ajouter, après le MoveLast , la ligne :
'affiche le nombre d'enregistrement
MsgBox Rs.RecordCount
- 6./ Tu devrais tester si les valeurs sont nulles (si elles sont autorisées à l'être), pour ça, tu devrais écrire :
'ne pas utiliser les facilités des propriétés et méthodes par défaut
'écrire explicitement [pour les fainéants, on a inventé le copier/coller]
If Not IsNull(Rs.Fields(11).Value) Then
'ne pas utiliser de référence ordinale à une colonne, toujours
'son nom, et si possible, créer une constante, et l'utiliser elle
Text1.Text = Rs.Fields(11).Value
End If
- 7./ Tu devrais vérifier si les valeurs sont vides (si elles sont autorisées à l'être).
- 8./ Tu écris (je résume un peu) :
If LoLo = False Then
'bloc 1
End If
If LoLo = True Then
'bloc 2
Else
'bloc 3
End If
Tu devrais écrire :
If LoLo = False Then
'bloc 1
'bloc 3
Else
'bloc 2
End If
- 9./ à propos de LoLo, sais-tu s'il est Vrai ou Faux? (je sais bien que c'est une question bête, mais c'est un branchement conditionnel mal construit, donc, on peux partir sur une hypothèse bête)
- 10./ Tu penseras bien à faire :
Rs.Close
Set Rs =Nothing
- 11./ Tu ne signale pas d'erreur, donc prenons l'hypothèse qu'il n'y en a pas (pas plus que de On Error Resume Next caché)
- 11./ On ne voit pas les déclarations de tes variables, donc, prenons l'hypothèse qu'elles sont bonnes.
- 12./ On ne voit pas l'ouverture de ta base, donc, prenons l'hypothèse qu'elle est bonne.

Essaies de répondre à un maximum de questions (en rappelant le n°), et d'effectuer un maximum de ces tests et conseils.

à+ de lire tes réponses,


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
Re
1) oui,je voudrais récupéré que les 3 données de mon dernier enregistrement,mais seulement quand il y à quelque chose dedans c'est à dire des chiffres car dés fois il y aura des "-----" pour les dessins- animés et les animations,cela je ne veut pas qu'il s'affiche,donc il faudra revenir à la ligne ou il y aura des chiffres.
2)en fait quand la variable lolo est à False j'affiche les données,car cela veut dire que je souhaite modifier les données.
3)oui,du moment que je récupère des 3 dernieres données.
4) oui,si c'est mieux et explicite
5)j'ai testé mais toujours rien
6)idem que la 5
9)lolo est faux
voila ,tous se que je peut te répondre


encore merci pour ton aide
petchy
Messages postés
794
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
5
Salut petchy ,

dac.
en 5./, peux-tu donner des précisions? Normalement, si tu as fait cette modification, les autres champs ne devraient pas être remplis s'il n'y a pas de réponses.
Le but est de savoir si tu as bien un enregistrement en réponse. Donc, si après cette modification, tu as les champs remplis, il n'a pas de valeurs dans les colonnes 11, 12, 13, ou alors, elles sont nulles.

à+

rvblogn

<sup>
</sup><sup>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</sup>
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
salut rv
désolé je me suis trompé
ça fonctionne bien quand lolo est faux,mais le résultat est celui dont je click sur le titre,moi je voudrais avoir vraiment le résultat du dernier enregistrement mais quand lolo est vrai ou sinon en clickant sur un bouton de l'avoir en MsgBox
petchy