Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ajout dans zone de liste

8 réponses
Avatar
pierref
Bonjour,=20

j'ai access 97.=20
je souhaite ajouter des valeurs dans un zone de liste d'un=20
formulaire, sans passer par une table li=E9e.=20
Est ce possible ? comment faire ?=20

merci d'avance

8 réponses

Avatar
Raymond [mvp]
Bonsoir.
Dans cette version, tu ne peux pas ajouter une valeur si ton rowsource est
basé sur une table ou requête. Tu peux en rajouter si le rowsource est basé
sur une liste de valeurs.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit dans le message de
news:1c80901c4223f$94e86a00$
Bonjour,

j'ai access 97.
je souhaite ajouter des valeurs dans un zone de liste d'un
formulaire, sans passer par une table liée.
Est ce possible ? comment faire ?

merci d'avance
Avatar
pierref
effectivement, j'ai basé ma rowsource sur une liste de
valeurs.
dans mon code, je lui affecte un tableau de string mais ca
ne marche pas.

comment fait on ?

merci

-----Message d'origine-----
Bonsoir.
Dans cette version, tu ne peux pas ajouter une valeur si
ton rowsource est

basé sur une table ou requête. Tu peux en rajouter si le
rowsource est basé

sur une liste de valeurs.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit
dans le message de

news:1c80901c4223f$94e86a00$
Bonjour,

j'ai access 97.
je souhaite ajouter des valeurs dans un zone de liste d'un
formulaire, sans passer par une table liée.
Est ce possible ? comment faire ?

merci d'avance


.



Avatar
Raymond [mvp]
tu dois ajouter les valeurs au rowsource directement:

Me.maliste.Rowsource = Me.maliste.Rowsource & ";" & valeur1 & ";" & valeur2
& ";" & valeur3 .........
valeur1 put être toute variable et même un champ de recordset.
tu trouveras des exemples de listes avec les objets access sur :
http://access.seneque.free.fr/liste_des_objets.htm
tu ne peux pas ajouter un tableau dans ton rowsource.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit dans le message de
news:1c85201c42243$f2f433a0$
effectivement, j'ai basé ma rowsource sur une liste de
valeurs.
dans mon code, je lui affecte un tableau de string mais ca
ne marche pas.

comment fait on ?

merci
Avatar
Eric
Bonsoir,

Et un truc du genre, en supposant que les valeurs de tableau sont déjà
renseignées:

Dim cpt as integer
For cpt = 0 to Ubound(tableau)
Me.maliste.RowSource=Me.maliste.RowSource & tableau(cpt) & ";"
next cpt

ca devrait fonctionner non ?

A+
Eric

"Raymond [mvp]" écrivait
news::

tu dois ajouter les valeurs au rowsource directement:

Me.maliste.Rowsource = Me.maliste.Rowsource & ";" & valeur1 & ";" &
valeur2 & ";" & valeur3 .........
valeur1 put être toute variable et même un champ de recordset.
tu trouveras des exemples de listes avec les objets access sur :
http://access.seneque.free.fr/liste_des_objets.htm
tu ne peux pas ajouter un tableau dans ton rowsource.


Avatar
Raymond [mvp]
Mais bien sûr que ça marche, je parlais d'un tableau sous sa forme tableau,
tu aurais dû essayer tout de suite.
Dim cpt as integer
For cpt = 0 to Ubound(tableau)
Me.maliste.RowSource=Me.maliste.RowSource & tableau(cpt) & ";"
next cpt
simple remarque: dans ton cas ci-dessus il faut que le rowsource d'origine

finisse bien par un ;
sinon inverser le ; et la donnée
par ailleurs la limite du rowsource en taille est de 4Ko , il me semble.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Eric" a écrit dans le message de
news:
Bonsoir,

Et un truc du genre, en supposant que les valeurs de tableau sont déjà
renseignées:

Dim cpt as integer
For cpt = 0 to Ubound(tableau)
Me.maliste.RowSource=Me.maliste.RowSource & tableau(cpt) & ";"
next cpt

ca devrait fonctionner non ?


Avatar
Eric
Bonsoir Raymond

Je ne comprends pas ce que tu veux dire par : "je parlais d'un tableau sous
sa forme tableau"

Moi je voyais un tableau comme ca :
Dim tableau(9)
For cpt=0 to 9
tableau(cpt)=cpt 'ou rempli par ce que veux l'auteur du post
next cpt
et aprés je concatène dans la rowsource de sa liste.(D'ailleurs, il serait
meme préférable de réinitialiser le liste avant de la remplir avec
me.maliste.rowsource="".

Pour ce qui est de la limite de la rowsource (4ko) je n'en ai pas la
moindre idée. Je te fais confiance aveugle, toi le spécialiste.
En tout cas, si c'est le cas, j'en prend bonne note.

A+
Eric

"Raymond [mvp]" écrivait
news::

Mais bien sûr que ça marche, je parlais d'un tableau sous sa forme
tableau, tu aurais dû essayer tout de suite.
Dim cpt as integer
For cpt = 0 to Ubound(tableau)
Me.maliste.RowSource=Me.maliste.RowSource & tableau(cpt) & ";"
next cpt
simple remarque: dans ton cas ci-dessus il faut que le rowsource

d'origine finisse bien par un ;
sinon inverser le ; et la donnée
par ailleurs la limite du rowsource en taille est de 4Ko , il me
semble.



Avatar
-----Message d'origine-----
Bonjour,

j'ai access 97.
je souhaite ajouter des valeurs dans un zone de liste
d'un

formulaire, sans passer par une table liée.
Est ce possible ? comment faire ?

merci d'avance
.
Bonjour ,
si j'ai bien compris , vous avez une zone liste liée à

une table se situant dans un formulaire et ; de tps en
tps lors de saisie sur votre formulaire , il vous arrive
de ne pas retrouver une valeur dans votre liste
déroulante ..
Si c'est bien votre cas , à ma connaissance , vous ne
pouvez pas ajouter de valeur sans passer par la table ;
puisque la nouvelle saisie est directement enregistrée
dans la table qui est liée au formulaire.
Par contre il est toujours possible de placer un champ
sur votre formulaire qui renseignera directement votre
table mais ce là complique les choses et , ce n'est peut
être pas la meilleur des solutions à voir

Si vous souhaitez plus d infos n'hesitez pas
à bientôt

Avatar
Raymond [mvp]
Bonjour Eric.

tu as raison.
ce que je disais et qui ne fonctionne pas c'est le genre:
Me.maliste.RowSource=Me.maliste.RowSource & tableau & ";"

ce que tu indiques et que je t'ai confirmé dans mon post précédent est la
bonne méthode.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Eric" a écrit dans le message de
news:

Bonsoir Raymond

Je ne comprends pas ce que tu veux dire par : "je parlais d'un tableau
sous

sa forme tableau"

Moi je voyais un tableau comme ca :
Dim tableau(9)
For cpt=0 to 9
tableau(cpt)=cpt 'ou rempli par ce que veux l'auteur du post
next cpt
et aprés je concatène dans la rowsource de sa liste.(D'ailleurs, il serait
meme préférable de réinitialiser le liste avant de la remplir avec
me.maliste.rowsource="".

Pour ce qui est de la limite de la rowsource (4ko) je n'en ai pas la
moindre idée. Je te fais confiance aveugle, toi le spécialiste.
En tout cas, si c'est le cas, j'en prend bonne note.