Comment faire une boucle avec integrateurs et record! ?

Résolu
beber00 Messages postés 20 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 23 novembre 2005 - 10 oct. 2005 à 11:32
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

12 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
12 oct. 2005 à 19:31
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 !?
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 oct. 2005 à 12:11
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
0
beber00 Messages postés 20 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 23 novembre 2005
10 oct. 2005 à 13:07
Merci pour cet exemple mais j'avais deja essayé et ca ne marche pas il ne comprend ce que represente ColName

A l'aide!!!!!!!!!!!!!!!
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
10 oct. 2005 à 19:20
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 !?
0

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

Posez votre question
beber00 Messages postés 20 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 23 novembre 2005
11 oct. 2005 à 15:49
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
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 oct. 2005 à 16:24
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
0
beber00 Messages postés 20 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 23 novembre 2005
12 oct. 2005 à 12:18
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
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
12 oct. 2005 à 13:06
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
0
beber00 Messages postés 20 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 23 novembre 2005
12 oct. 2005 à 14:14
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!
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
12 oct. 2005 à 14:53
ok.
en ADO, la syntaxe aurait été rs("JuryUV" & i)
désolé. je ne te suis d'aucun secours
PCPT
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
12 oct. 2005 à 14:54
DAO*
0
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
Parfait ce bout de code marcheà merveille et je vient de comprendre une autre subtilité de la fonction record...

MERCI ENCORE!!!!!!!!!!!!!!
0
Rejoignez-nous