Groupe de controle ..

varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016 - 13 nov. 2006 à 13:48
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 - 13 nov. 2006 à 16:23
Bonjour .
je suis en train de faire un planning ;
j ai creer un groupe de controle avec des labels : t_Qte.... de 0 à 34
J ai une table acces avec Q en colonne et un num de 0 à 34

Mes labels st lies a ma base par un ADODC

Je cherche a ce que le t_qte(0) corresponde a la valeur Q de la ligne 0  ..... t_qte(1) ... Q de  la ligne  1

je suis perdu j ai essaye pas mal de trucs qui ne donnent rien

si quelqu un aurai une piste ..

merci d avance

Yann

17 réponses

lilo44 Messages postés 174 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 15 février 2007 2
13 nov. 2006 à 14:07
bonjour,

hum, une boucle FOR -- NEXT par exemple suivi d une assignation de variable genre :

---------------

SQL = " SELECT ....... "
Set rstSelection = db.OpenRecordset(SQL, dbOpenDynaset)

For i=1 to 34

t_qte(i) = rstSelection.fields("CHAMP")

rstSelection.movenext
next

---------------

Non ? J'ai peur d etre a coté de la plaque et que ce soit plus compliqué que ca ^^
0
lilo44 Messages postés 174 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 15 février 2007 2
13 nov. 2006 à 14:09
---------------

SQL = "select Q from VOTRE_TABLE order by ..."
Set rstSelection = db.OpenRecordset(SQL, dbOpenDynaset)

For i=1 to 34

t_qte(i) = rstSelection.fields("Q")

rstSelection.movenext
next

---------------
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 nov. 2006 à 14:09
Salut,
[auteurdetail.aspx?ID= 3566 lilo44]
ne serait ce pas plutot (en suivant ton exemple)

SQL = " SELECT ....... "
Set rstSelection = db.OpenRecordset(SQL, dbOpenDynaset)

For i=1 to 34

t_qte(i) = rstSelection.fields( i
)

rstSelection.movenext
next

@+: =89254 Ju£i?n
Pensez: Réponse acceptée
0
lilo44 Messages postés 174 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 15 février 2007 2
13 nov. 2006 à 14:10
t_qte(i) = rstSelection.fields(i)

non non

I pour le LABEL et CHAMP pour le nom de la colonne dans la BDD :)

Le champ ne change pas de nom :p
0

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

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 nov. 2006 à 14:16
Salut,
Oui mais si on part du principe qu un label reprsente un champs, et que les 34 label represente UNE ligne de la base alors le recordset devrati normalement avoir aussi 34 champs (donc indexables aussi selon i )
Enfin peu etre me trompre je

@+: Ju£i?n
Pensez: Réponse acceptée
0
lilo44 Messages postés 174 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 15 février 2007 2
13 nov. 2006 à 14:38
a mon avis vous vous trompez hum ...

le champ est toujours a la meme place et a toujours le meme nom. on peut pas mettre de variable pour le FIELDS
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 nov. 2006 à 14:43
Re,

Teste et tu verras que à la place du nom du champs tu peux aussi mettre son indice dans la collection Fields.
Essaie un simple Msgbox NomRecordset.Fields(1).Value et normalement si mes souvenir sont bon aucune erreur ne se produira, tu auras la valeur du champd d'indice 1 dans la colleciton Fields de ton recordset.

@+: Ju£i?n
Pensez: Réponse acceptée
0
varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016
13 nov. 2006 à 14:45
Merci a tous de votre aide .

qd je debugg c marche .. a chaque boucle je lis la bonne valeur dans rstSelection.fields(i) mais mes label(0) et (1 ) st vide
0
varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016
13 nov. 2006 à 14:55
re

Private Sub Command1_Click()
  For I = 0 To 1
   With Adodc1.Recordset
   .MoveFirst
  .Find "Num = '" & I & "'  "
                  t_Qte(I) = Adodc1.Recordset.Fields("quantite")
            End With
Next I
End Sub

a chaque valeur de I j ai bien t_Qte(I) qui prend bien la bonne valeur mais a l affiche tout mes t_qte ont la derniere valeur
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
13 nov. 2006 à 15:12
Salut,
C'est normal tu fais for i=0 to 1
Tu as 34 labels > for i = 1 to 34 non?

 Drikce 06
0
varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016
13 nov. 2006 à 15:28
oui mais la je fe le test sur les 2 premieres valeurs ...et ca ne marche pas
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
13 nov. 2006 à 15:39
Private Sub Command1_Click()
  For I = 0 To 1
   With Adodc1.Recordset
   .MoveFirst
  .Find "Num = '" & I & "'  "
                  t_Qte(I) = Adodc1.Recordset.Fields("quantite")
            End With
I = I+1
Next I
End Sub

ou

Private Sub Command1_Click()
  For I = 0 To 1 Step1
   With Adodc1.Recordset
   .MoveFirst
  .Find "Num = '" & I & "'  "
                  t_Qte(I) = Adodc1.Recordset.Fields("quantite")
            End With
Next I
End Sub

 Drikce 06
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
13 nov. 2006 à 15:49
[auteurdetail.aspx?ID= 424838 VARACH]
tu dis que à l'affichage tout tes t_Qte(I) prennent la dernière valeur.

Tes t_Qte(I) sont je suppose les labels que tu souhaite lier à la bdd au départ. Il faut enlever ce lien. Il ne doit plus y avaoir aucun liens entre les labels et la base, c'est le code que tu as donné qui va remplir les labels.
Si tes labels sont liés, ils se remplissent automatiquement avec l'enregistrement en cours quelque soit la valeur que tu leur force.

[auteurdetail.aspx?ID=786090 Drikce06] je ne comprend pas l'interet des modification que tu donne là, ça te fait sauter des valeurs de I pour la première. Quant à la seconde, elle est inutile puisque le step est par défaut à 1

---- Sevyc64  (alias Casy) ----<hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
lilo44 Messages postés 174 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 15 février 2007 2
13 nov. 2006 à 16:10
d'ou l interet de mon code avec un for qui va de 1 à 34
ensuite attribution de la valeur et enfin mouvenext et on boucle ..

Mon petit script plus haut fonctionne forcément :D

Pourquoi ne pas le tester ?

ps : je sais pas si c'est la meilleure solution mais ca marche hein ^^
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
13 nov. 2006 à 16:12
Pour la 2eme ok c'est pas forcément utile mais la premiere ça ne fait pas sauter de valeur! I = 0, I = I + 1 = 1,.......

 Drikce 06
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
13 nov. 2006 à 16:19
"...Pour la 2eme ok c'est pas forcément utile mais la premiere ça ne fait pas sauter de valeur!..."

Si ça fait sauté une valeur :I 0, I I + 1 = 1, Next , ça donne I = 2 pour la boucle suivante

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
13 nov. 2006 à 16:23
Ha oui pardon, c'est lundi je suis à la masse! Non! Là j'ai pas d'excuse! je sors!

 Drikce 06
0
Rejoignez-nous