OVH Cloud OVH Cloud

Bug liste modifiable !!! à l'aide

8 réponses
Avatar
Doudou
Bonjour,

voilà j'ai un problème sur une liste modifable

J'ai une liste modifiable qui contient 4 colonnes avec comme champ pricipal
le nom du client ...

détail liste : nomclient,adresse,ville,code_postal.

Mais voilà le client peut avoir plusieur adresse donc apparaitre plusieur
fois dans la liste.

et quand on s'électionne par exemple le troisième client "test" il va
prendre tjs le premier de ce client

8 réponses

Avatar
ze_titi
Bonjour,

Va faire un tour à http://users.skynet.be/mpfa/
tu y apprendras certaines règles de ce forum.

Selon moi, c'est une erreur de mettre un nom en tant que colonne liée d'une
liste. Il faut que tu ajoutes une colonne que tu caches dans ta liste et qui
contiendra la clé primaire pour chaque client. C'est cette colonne qui sera
ta colonne liée. Ainsi, tu sélectionnes le bon client à coup sûr.

--
Cordialement,

ze_titi

Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ




Bonjour,

voilà j'ai un problème sur une liste modifable

J'ai une liste modifiable qui contient 4 colonnes avec comme champ pricipal
le nom du client ...

détail liste : nomclient,adresse,ville,code_postal.

Mais voilà le client peut avoir plusieur adresse donc apparaitre plusieur
fois dans la liste.

et quand on s'électionne par exemple le troisième client "test" il va
prendre tjs le premier de ce client



Avatar
Eric
Bonjour,

Je suppose que ta liste déroulante tu l'as construite avec l'assistant,
donc tu dois avoir une ligne du genre :
rs.FindFirst "[Nom] = '" & Me![Modifiable4] & "'"
sur l'évènement Après Mise jour (Private Sub Modifiable4_AfterUpdate())
(Adapter au nom de la liste)

Tu remplaces cette ligne par :
Soit
rs.FindFirst "[Nom] = '" & Me![Modifiable4] _
& "' And Ville = '" & Me.Modifiable4.Column(2) & "'"
'nom + recherche sur ville

soit :
rs.FindFirst "[Nom] = '" & Me![Modifiable4] _
& "' And code_postal = '" & Me.Modifiable4.Column(3) & "'"
'nom + recherche sur code_postal

(L'index des colonnes commence à 0. Attention à la colonne masquée
éventuellement)

Bonjour,

voilà j'ai un problème sur une liste modifable

J'ai une liste modifiable qui contient 4 colonnes avec comme champ pricipal
le nom du client ...

détail liste : nomclient,adresse,ville,code_postal.

Mais voilà le client peut avoir plusieur adresse donc apparaitre plusieur
fois dans la liste.

et quand on s'électionne par exemple le troisième client "test" il va
prendre tjs le premier de ce client



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Doudou
Oui mais ca veut dire que même en prmière colonne caché quand je sélectionne
la ligne dans ma zone de liste modifibla il me mettrat en valeur sélectionner
la clé..

Mais j'ai trouvé une parade quand je remplit cette liste j'ajoute un " " a
la fin à chaque fois que je trouve un client du même nom et la personne ne
s'apercoit de rien et quand la valuer est sélectionner je fais un replace des
" " pour que tout revienne dans l'ordre ...

Ouala



Bonjour,

Va faire un tour à http://users.skynet.be/mpfa/
tu y apprendras certaines règles de ce forum.

Selon moi, c'est une erreur de mettre un nom en tant que colonne liée d'une
liste. Il faut que tu ajoutes une colonne que tu caches dans ta liste et qui
contiendra la clé primaire pour chaque client. C'est cette colonne qui sera
ta colonne liée. Ainsi, tu sélectionnes le bon client à coup sûr.

--
Cordialement,

ze_titi

Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ




Bonjour,

voilà j'ai un problème sur une liste modifable

J'ai une liste modifiable qui contient 4 colonnes avec comme champ pricipal
le nom du client ...

détail liste : nomclient,adresse,ville,code_postal.

Mais voilà le client peut avoir plusieur adresse donc apparaitre plusieur
fois dans la liste.

et quand on s'électionne par exemple le troisième client "test" il va
prendre tjs le premier de ce client





Avatar
ze_titi
Il serait plus simple, à mon avis, d'utiliser ma technique et au lieu de faire
taListe.value
pour récupérer la valeur de ta liste, tu fais
taListe.column(1)

--
Cordialement,

ze_titi

Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ




Oui mais ca veut dire que même en prmière colonne caché quand je sélectionne
la ligne dans ma zone de liste modifibla il me mettrat en valeur sélectionner
la clé..

Mais j'ai trouvé une parade quand je remplit cette liste j'ajoute un " " a
la fin à chaque fois que je trouve un client du même nom et la personne ne
s'apercoit de rien et quand la valuer est sélectionner je fais un replace des
" " pour que tout revienne dans l'ordre ...

Ouala



Bonjour,

Va faire un tour à http://users.skynet.be/mpfa/
tu y apprendras certaines règles de ce forum.

Selon moi, c'est une erreur de mettre un nom en tant que colonne liée d'une
liste. Il faut que tu ajoutes une colonne que tu caches dans ta liste et qui
contiendra la clé primaire pour chaque client. C'est cette colonne qui sera
ta colonne liée. Ainsi, tu sélectionnes le bon client à coup sûr.

--
Cordialement,

ze_titi

Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ




Bonjour,

voilà j'ai un problème sur une liste modifable

J'ai une liste modifiable qui contient 4 colonnes avec comme champ pricipal
le nom du client ...

détail liste : nomclient,adresse,ville,code_postal.

Mais voilà le client peut avoir plusieur adresse donc apparaitre plusieur
fois dans la liste.

et quand on s'électionne par exemple le troisième client "test" il va
prendre tjs le premier de ce client







Avatar
Doudou
Non vous n'avez pas compris , ce n'est pas grave je dois mal m'exprimer .

Bien sur je fais après .column(n) en fonction de ce que j'ai besoin ...

La chose que je disait c'est que microsoft prend comme index de sélection la
valeur de la column(0) ce qui veut dire que si tu as deux column(0) identique
il ne sais pas laquelle prendre..

Mon problème est résolut mais je suis obliger de détecter au remplissage de
ma liste les valeurs identique et les modifier.

Vérifi le problème tu comprendrat ..

Remplit ta liste de deux colonne .

dans ta collone en liste de valeur tu met .rowsource
:valeur;paramètre1;valeur;paramètre2

avec une liste modifiable à deux colonnes.

tu sélectionne ton deuxième enregistrement et tu vera qu'il te sort la
valeur de paramètre1 même siu tu clique sur la deuxième...

conclusion : ACCESS ne créer pas de valeur index invisible il se sert du
.column(0) pour savoir quelle enregistrement tu prend ...

Dommage ..

Meric quand même


Il serait plus simple, à mon avis, d'utiliser ma technique et au lieu de faire
taListe.value
pour récupérer la valeur de ta liste, tu fais
taListe.column(1)

--
Cordialement,

ze_titi

Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ




Oui mais ca veut dire que même en prmière colonne caché quand je sélectionne
la ligne dans ma zone de liste modifibla il me mettrat en valeur sélectionner
la clé..

Mais j'ai trouvé une parade quand je remplit cette liste j'ajoute un " " a
la fin à chaque fois que je trouve un client du même nom et la personne ne
s'apercoit de rien et quand la valuer est sélectionner je fais un replace des
" " pour que tout revienne dans l'ordre ...

Ouala



Bonjour,

Va faire un tour à http://users.skynet.be/mpfa/
tu y apprendras certaines règles de ce forum.

Selon moi, c'est une erreur de mettre un nom en tant que colonne liée d'une
liste. Il faut que tu ajoutes une colonne que tu caches dans ta liste et qui
contiendra la clé primaire pour chaque client. C'est cette colonne qui sera
ta colonne liée. Ainsi, tu sélectionnes le bon client à coup sûr.

--
Cordialement,

ze_titi

Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ




Bonjour,

voilà j'ai un problème sur une liste modifable

J'ai une liste modifiable qui contient 4 colonnes avec comme champ pricipal
le nom du client ...

détail liste : nomclient,adresse,ville,code_postal.

Mais voilà le client peut avoir plusieur adresse donc apparaitre plusieur
fois dans la liste.

et quand on s'électionne par exemple le troisième client "test" il va
prendre tjs le premier de ce client









Avatar
Eric
re,

as-tu testé ce que je t'ai proposé car ca tourne bien ?

Non vous n'avez pas compris , ce n'est pas grave je dois mal m'exprimer .

Bien sur je fais après .column(n) en fonction de ce que j'ai besoin ...

La chose que je disait c'est que microsoft prend comme index de sélection la
valeur de la column(0) ce qui veut dire que si tu as deux column(0) identique
il ne sais pas laquelle prendre..

Mon problème est résolut mais je suis obliger de détecter au remplissage de
ma liste les valeurs identique et les modifier.

Vérifi le problème tu comprendrat ..

Remplit ta liste de deux colonne .

dans ta collone en liste de valeur tu met .rowsource
:valeur;paramètre1;valeur;paramètre2

avec une liste modifiable à deux colonnes.

tu sélectionne ton deuxième enregistrement et tu vera qu'il te sort la
valeur de paramètre1 même siu tu clique sur la deuxième...

conclusion : ACCESS ne créer pas de valeur index invisible il se sert du
.column(0) pour savoir quelle enregistrement tu prend ...

Dommage ..

Meric quand même




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Doudou
non car je construit mais zone de list comme ceci

Set Db = CurrentDb
Set rstautre = Db.OpenRecordset("SELECT tbl_personnel.Nom_employé FROM
tbl_personnel GROUP BY tbl_personnel.Nom_employé;")
If rstautre.RecordCount <> 0 Then
rstautre.MoveFirst
While Not rstautre.EOF
If InStr(1, personnel.RowSource, rstautre!Nom_employé) = 0 Then
personnel.RowSource = personnel.RowSource & rstautre!Nom_employé & ";"
rstautre.MoveNext
Wend
End If


ce qui me permet d'accélérer mon appli de manière exponentiel..

Merci quand même


re,

as-tu testé ce que je t'ai proposé car ca tourne bien ?

Non vous n'avez pas compris , ce n'est pas grave je dois mal m'exprimer .

Bien sur je fais après .column(n) en fonction de ce que j'ai besoin ...

La chose que je disait c'est que microsoft prend comme index de sélection la
valeur de la column(0) ce qui veut dire que si tu as deux column(0) identique
il ne sais pas laquelle prendre..

Mon problème est résolut mais je suis obliger de détecter au remplissage de
ma liste les valeurs identique et les modifier.

Vérifi le problème tu comprendrat ..

Remplit ta liste de deux colonne .

dans ta collone en liste de valeur tu met .rowsource
:valeur;paramètre1;valeur;paramètre2

avec une liste modifiable à deux colonnes.

tu sélectionne ton deuxième enregistrement et tu vera qu'il te sort la
valeur de paramètre1 même siu tu clique sur la deuxième...

conclusion : ACCESS ne créer pas de valeur index invisible il se sert du
.column(0) pour savoir quelle enregistrement tu prend ...

Dommage ..

Meric quand même




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
3stone
Salut,

"Doudou"
| voilà j'ai un problème sur une liste modifable
|
| J'ai une liste modifiable qui contient 4 colonnes avec comme champ pricipal
| le nom du client ...
|
| détail liste : nomclient,adresse,ville,code_postal.
|
| Mais voilà le client peut avoir plusieur adresse donc apparaitre plusieur
| fois dans la liste.
|
| et quand on s'électionne par exemple le troisième client "test" il va
| prendre tjs le premier de ce client



Ce n'est **définitivement ** pas un bug de la liste modifiable
mais plutôt un immmeennnnssseee bug de programmeur !!!


Un conseil:
Ajoute un clé primaire dans ta table (et la liste) comme te le
propose ze_titi sinon, dans pas longtemps tu pourra jeter
ta base à la poubelle et tout recommencer !


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw