OVH Cloud OVH Cloud

Pls menus dynamiques

4 réponses
Avatar
JCM
Bonjour =E0 tous

je veux remplir dynamiquement des menus s'appelant=20
MnuAFFCOUR1 =E0 MnuAFFCOUR8, j'ai fait le code suivant et=20
cela beug sur lemenu(Lenr) avec le message d'erreur :=20
tableau attendu. Pouvez-vous me dire o=F9 est l'erreur ?

Ifich =3D 0
For Ifich =3D 0 To 8
Ifich =3D Ifich + 1
Dim LAFF As String
Dim lemenu As String
Dim RepEnr As String
lemenu =3D "MnuAFFCOUR" & CStr(Ifich) & "index"
=20
Call ExecSQL("Select * from affaire where lobbiyng=3D'"=20
& "en cours" & "'", ADOrst, ADOcnx)
Lenr =3D 0
Do Until ADOrst.EOF
Lenr =3D Lenr + 1
On Error Resume Next 'permet de charger un=20
=E9l=E9ment sur le pr=E9c=E9dent
Load lemenu(Lenr) 'charge le nouvel =E9l=E9ment
lemenu(Lenr).Visible =3D True 'assure la=20
visibilit=E9
LAFF =3D ADOrst("enseigne") & " " & ADOrst
("affaire") & " - " & ADOrst("num") 'r=E9cup=E8re le texte
lemenu(Lenr).Caption =3D LAFF 'affecte le texte=20
=E0 l'Item du menu
ADOrst.MoveNext
Loop
Next

Merci pour vos r=E9ponses
Cordialement
JCM

4 réponses

Avatar
Quasimodo
JCM brought next idea :
Bonjour à tous

je veux remplir dynamiquement des menus s'appelant
MnuAFFCOUR1 à MnuAFFCOUR8, j'ai fait le code suivant et
cela beug sur lemenu(Lenr) avec le message d'erreur :
tableau attendu. Pouvez-vous me dire où est l'erreur ?

Ifich = 0
For Ifich = 0 To 8
Ifich = Ifich + 1
Dim LAFF As String
Dim lemenu As String
Dim RepEnr As String
lemenu = "MnuAFFCOUR" & CStr(Ifich) & "index"

Call ExecSQL("Select * from affaire where lobbiyng='"
& "en cours" & "'", ADOrst, ADOcnx)
Lenr = 0
Do Until ADOrst.EOF
Lenr = Lenr + 1
On Error Resume Next 'permet de charger un
élément sur le précédent
Load lemenu(Lenr) 'charge le nouvel élément
lemenu(Lenr).Visible = True 'assure la
visibilité
LAFF = ADOrst("enseigne") & " " & ADOrst
("affaire") & " - " & ADOrst("num") 'récupère le texte
lemenu(Lenr).Caption = LAFF 'affecte le texte
à l'Item du menu
ADOrst.MoveNext
Loop
Next

Merci pour vos réponses
Cordialement
JCM



Bonjour,
lors de l'appel à lemenu(Lenr), il s'attend à recevoir un objet indexer
et visiblement ce n'est pas le cas puisque vous travailler avec une
pseudo indexation via le nom de menu (MnuAFFCOUR8 --> 8 correspond au
pseudo index).

@+ Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
JCM
Bonjour

merci pour cette réponse, mais je ne vois pas comment
régler le problème, est-ce possible ?

Cordialement
JCM
-----Message d'origine-----
JCM brought next idea :
Bonjour à tous

je veux remplir dynamiquement des menus s'appelant
MnuAFFCOUR1 à MnuAFFCOUR8, j'ai fait le code suivant et
cela beug sur lemenu(Lenr) avec le message d'erreur :
tableau attendu. Pouvez-vous me dire où est l'erreur ?

Ifich = 0
For Ifich = 0 To 8
Ifich = Ifich + 1
Dim LAFF As String
Dim lemenu As String
Dim RepEnr As String
lemenu = "MnuAFFCOUR" & CStr(Ifich) & "index"

Call ExecSQL("Select * from affaire where




lobbiyng='"
& "en cours" & "'", ADOrst, ADOcnx)
Lenr = 0
Do Until ADOrst.EOF
Lenr = Lenr + 1
On Error Resume Next 'permet de charger un
élément sur le précédent
Load lemenu(Lenr) 'charge le nouvel élément
lemenu(Lenr).Visible = True 'assure la
visibilité
LAFF = ADOrst("enseigne") & " " & ADOrst
("affaire") & " - " & ADOrst("num") 'récupère le texte
lemenu(Lenr).Caption = LAFF 'affecte le




texte
à l'Item du menu
ADOrst.MoveNext
Loop
Next

Merci pour vos réponses
Cordialement
JCM



Bonjour,
lors de l'appel à lemenu(Lenr), il s'attend à recevoir un


objet indexer
et visiblement ce n'est pas le cas puisque vous


travailler avec une
pseudo indexation via le nom de menu (MnuAFFCOUR8 --> 8


correspond au
pseudo index).

@+ Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com

.



Avatar
Quasimodo
JCM brought next idea :
Bonjour

merci pour cette réponse, mais je ne vois pas comment
régler le problème, est-ce possible ?

Cordialement
JCM
-----Message d'origine-----
JCM brought next idea :
Bonjour à tous

je veux remplir dynamiquement des menus s'appelant
MnuAFFCOUR1 à MnuAFFCOUR8, j'ai fait le code suivant et
cela beug sur lemenu(Lenr) avec le message d'erreur :
tableau attendu. Pouvez-vous me dire où est l'erreur ?

Ifich = 0
For Ifich = 0 To 8
Ifich = Ifich + 1
Dim LAFF As String
Dim lemenu As String
Dim RepEnr As String
lemenu = "MnuAFFCOUR" & CStr(Ifich) & "index"

Call ExecSQL("Select * from affaire where lobbiyng='"
& "en cours" & "'", ADOrst, ADOcnx)
Lenr = 0
Do Until ADOrst.EOF
Lenr = Lenr + 1
On Error Resume Next 'permet de charger un
élément sur le précédent
Load lemenu(Lenr) 'charge le nouvel élément
lemenu(Lenr).Visible = True 'assure la
visibilité
LAFF = ADOrst("enseigne") & " " & ADOrst
("affaire") & " - " & ADOrst("num") 'récupère le texte
lemenu(Lenr).Caption = LAFF 'affecte le texte
à l'Item du menu
ADOrst.MoveNext
Loop
Next

Merci pour vos réponses
Cordialement
JCM



Bonjour,
lors de l'appel à lemenu(Lenr), il s'attend à recevoir un objet indexer
et visiblement ce n'est pas le cas puisque vous travailler avec une
pseudo indexation via le nom de menu (MnuAFFCOUR8 --> 8 correspond au
pseudo index).

@+ Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com

.





re,
oui c'est possible :-)
exemple :

Ifich = 0
For Ifich = 0 To 8
Ifich = Ifich + 1
Dim LAFF As String
Dim lemenu As String
Dim RepEnr As String
lemenu = "MnuAFFCOUR" & CStr(Ifich) & "index"

Call ExecSQL("Select * from affaire where lobbiyng='"
& "en cours" & "'", ADOrst, ADOcnx)
Lenr = 0
Do Until ADOrst.EOF
Lenr = Lenr + 1
On Error Resume Next 'permet de charger un
élément sur le précédent
Load lemenu(Lenr) 'charge le nouvel élément
lemenu(Lenr).Visible = True 'assure la
visibilité
LAFF = ADOrst("enseigne") & " " & ADOrst
("affaire") & " - " & ADOrst("num") 'récupère le texte
lemenu(Lenr).Caption = LAFF 'affecte le texte
à l'Item du menu
ADOrst.MoveNext
Loop
Next







re,
et bien voilà une idée de début (avec comme prérequis, que le menu est
indexé):
----------------------------------------------------------------------------------------------------------------------------------------------------
Dim LAFF As String
Dim lemenu As String
Dim RepEnr As String

On Error GoTo Error_Command1_Click 'permet de charger un élément sur
le précédent

Ifich = 0
Call ExecSQL("Select * from affaire where lobbiyng='en cours'",
ADOrst, ADOcnx)
If ADOrst Is Nothing Then
'RaiseEvent Error --- err.Raise ... --- Sortie de la sub ou de la
fonction avec une erreur.
ElseIf ADOrst.State <> adStateOpen Then
'RaiseEvent Error --- err.Raise ... --- Sortie de la sub ou de la
fonction avec une erreur.
End If
For Ifich = 1 To ADOrst.RecordCount
' Dans la db il y à une table avec :
' un champ id index ascendant de type numéric.
' deux champs de type text qui comptienent le nom du champ.
' et c'est tout à mon avis.
Load lemenu.Item(Ifich) 'L'index commence à partir de un.
lemenu.Item(Ifich).Visible = True 'assure la visibilité
lemenu.Item(Ifich).Caption = ADOrst!["enseigne"] & " " &
ADOrst!["affaire"] & " - " & ADOrst!["num"] 'récupère le texte et la
clef du champ.
ADOrst.MoveNext
Next

Error_Command1_Click:
'Gestion d'erreur.
----------------------------------------------------------------------------------------------------------------------------------------------------

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
Patrice Henrio
Il y a surtout dans cette boucle quelque chose qui me fait hurler


For I=0 to 8
I=I+1
<suite du traitement>
Next I

On ne doit pas modifier la variable de boucle dans la boucle, sinon c'est
que la structure est mal choisie et qu'il fallait faire autrement.

Ici tu traites les cas 1,3, 5, 7 et 9.

"JCM" a écrit dans le message de news:
154b01c4a15e$56988390$
Bonjour à tous

je veux remplir dynamiquement des menus s'appelant
MnuAFFCOUR1 à MnuAFFCOUR8, j'ai fait le code suivant et
cela beug sur lemenu(Lenr) avec le message d'erreur :
tableau attendu. Pouvez-vous me dire où est l'erreur ?

Ifich = 0
For Ifich = 0 To 8
Ifich = Ifich + 1
Dim LAFF As String
Dim lemenu As String
Dim RepEnr As String
lemenu = "MnuAFFCOUR" & CStr(Ifich) & "index"

Call ExecSQL("Select * from affaire where lobbiyng='"
& "en cours" & "'", ADOrst, ADOcnx)
Lenr = 0
Do Until ADOrst.EOF
Lenr = Lenr + 1
On Error Resume Next 'permet de charger un
élément sur le précédent
Load lemenu(Lenr) 'charge le nouvel élément
lemenu(Lenr).Visible = True 'assure la
visibilité
LAFF = ADOrst("enseigne") & " " & ADOrst
("affaire") & " - " & ADOrst("num") 'récupère le texte
lemenu(Lenr).Caption = LAFF 'affecte le texte
à l'Item du menu
ADOrst.MoveNext
Loop
Next

Merci pour vos réponses
Cordialement
JCM