Comment faire une boucle avec integrateurs et record! ? [Résolu]

Messages postés
20
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
23 novembre 2005
- - Dernière réponse : beber00
Messages postés
20
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
23 novembre 2005
- 13 oct. 2005 à 10:52
Bonjour, je cherche a rentrer dans ma listbox les données de 6colonnes (JuryUV1, JuryUV2, ... ,JuryUV6)

Voici mon code

For i = 1 To 6
LstJury.AddItem record!juryUV & i
record.MoveNext
Next i

Malheureusement, juryUV & i n'est pas compris par la fonction record!

comment faire?

Merci d'avance
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
6
3
Merci
OK, si c'est pour remplir une listbox simple (1 colonne), et ce n'est qu'une autre manière de faire ce que dit pcpt, une syntaxe équivalente à :

LstJury.addItem record!JuryUV1
LstJury.addItem record!JuryUV2
LstJury.addItem record!JuryUV3
LstJury.addItem record!JuryUV4
LstJury.addItem record!JuryUV5
LstJury.addItem record!JuryUV6

for i= 1 to 6
if isnull(record.fields("JuryUV" & cstr(i))) then
LstJury.addItem ""
else
LstJury.addItem record.fields("JuryUV" & cstr(i))
end if
next

tu auras 6 lignes dans ta listbox.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 126 internautes nous ont dit merci ce mois-ci

Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
salut

essai ceci :

Dim ColName as String
For i = 1 To 6
ColName = "JuryUV" & i
LstJury.AddItem Record!ColName
Record.MoveNext
Next i

nb : attention à la casse
PCPT
Messages postés
20
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
23 novembre 2005
0
Merci
Merci pour cet exemple mais j'avais deja essayé et ca ne marche pas il ne comprend ce que represente ColName

A l'aide!!!!!!!!!!!!!!!
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
6
0
Merci
Salut, c'est du vba ou du vb ?
Si c'est du vba, une méthode est de remplir un tableau puis :

LstJury.columncount= lenombredecolonnes

LstJury.list = letableau

...

Voir : http://ericrenaud.free.fr/dlg.htm

Si c'est du vb, vois du côté listview, plein d'exemples sur vbfrance.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
20
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
23 novembre 2005
0
Merci
Salut, c'est du VB!!


J'ai regardé le control listView mais j'en arrive au meme resultat il ne comprend pas ce qu'est

record!JuryUV & i


je reprends mon code:


Je me place sur un record avec une requete SQL su ce record axiste JuryUV1, JuryUV2, ..., JuryUV6


Dim ColName as String
For i = 1 To 6
ColName = "JuryUV" & i
LstJury.AddItem Record!ColName
Next i

dans ce cas il ne comprend pas ColName comme une entité de la base de données mais comme record!JuryUV1 et ainsi de suite jusqu'à 6

Je ne vois pas du tout comment faire
Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
dit, tu ne confondrais pas (à tout hasard) l'entête de ta ListView avec les champs de ta base

essai, séparément, de récupérer juste le premier champs (de ta base ) dans uen TxtBox, et copi ici le code (désolé, j'utilise ADO3.6, c'est pas les mêmes syntaxes), et j'essayerai de voir....

ps : "Record" est bien une variable déclarée en RecordSet, n'est-ce pas?!!!

PCPT
Messages postés
20
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
23 novembre 2005
0
Merci
record est bien declaré comme recordset

je t'explique:

J'ai dans ma table 6 colonnes juryUV qui peuvent etre vide ou non

mon record ne concerne qu'une ligne de la table. je voudrais pouvoir afficher les données de mes 6 colonnes dans une liste de cette maniere

juryUV1
juryUV2
JuryUV3
....
JuryUV6

je pourrais le faire de cette maniere

LstJury.addItem record!JuryUV1
LstJury.addItem record!JuryUV2
LstJury.addItem record!JuryUV3
LstJury.addItem record!JuryUV4
LstJury.addItem record!JuryUV5
LstJury.addItem record!JuryUV6

Mais si une des entitésJuryUV est vide alors il ne comprend pas que la valeur record! est vide
Ainsi je veux faire une boucle sur i ( de 1 à 6) avec à l'interieur une condition sur la valeur du record! (vide ou non)

J'espere que je suis assez claire
Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
ok, je comprend.

tu donnes l'exemple de LstJury.addItem record!JuryUV4
c'est la bonne syntaxe? (pas de guillemet, etc....) testé?

si oui, à tout hasard, essaie :

Dim ColName as String, i as integeri 4: ColName "JuryUV" & i
LstJury.AddItem (Record!"" & cstr(ColName))

PCPT
Messages postés
20
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
23 novembre 2005
0
Merci
LstJury.addItem record!JuryUV4

Cette syntaxe est celle qui marche j'en suis sur à 100%

J'ai essayé ton idée mais il n'accepte pas la ligne de code


LstJury.AddItem (Record!"" & cstr(ColName))

VB6 n'accepte pas les guillemets apres un record!
Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
ok.
en ADO, la syntaxe aurait été rs("JuryUV" & i)
désolé. je ne te suis d'aucun secours
PCPT
Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
DAO*
Messages postés
20
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
23 novembre 2005
0
Merci
Parfait ce bout de code marcheà merveille et je vient de comprendre une autre subtilité de la fonction record...

MERCI ENCORE!!!!!!!!!!!!!!