zone de liste

Le
Rémi
bonjour,
j'ai un problème sur une zone de liste dans un formulaire
je voudrais à partir d'une sélection dans ma liste agir sur un champ oui/non
pour le passer sur la valeur true
j'y arrive partiellement, seul problème cela agit toujours sur le premier
enregistrement de la table et non pas sur l'enregistrement que j'ai
sélectionné
comment dois je m'y prendre ?
en fait je me rends compte que je n'arrive pas à récupérer la valeur que
j'ai sélectionné.
j'ai ensuite écrit ce code après mise à jour de la liste mais ça agit sur
tous les enregistrements de la table
Private Sub Liste2_AfterUpdate()
CurrentDb.Execute "Update TBL_boncommandepapier1 SET edit_commande = True"
End Sub
comment dois je m'y prendre pour agir uniquement sur l'enregistrement
sélectionné ?
merci d'avance de votre aide
p.s. : je suis débutant, alors soyez patient




Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 100402-1, 02/04/2010
Analyse le : 03/04/2010 11:43:00
avast! - copyright (c) 1988-2010 ALWIL Software.
http://www.avast.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #21490622
Salut,

Rémi wrote:
j'ai un problème sur une zone de liste dans un formulaire
je voudrais à partir d'une sélection dans ma liste agir sur un champ
oui/non pour le passer sur la valeur true




Tu ne dis pas ce que contient cette liste !!!

Car pour "cocher", il suffit de cocher directement dans la liste, non ??


j'y arrive partiellement, seul problème cela agit toujours sur le
premier enregistrement de la table et non pas sur l'enregistrement
que j'ai sélectionné
comment dois je m'y prendre ?
en fait je me rends compte que je n'arrive pas à récupérer la valeur
que j'ai sélectionné.
j'ai ensuite écrit ce code après mise à jour de la liste mais ça agit
sur tous les enregistrements de la table
Private Sub Liste2_AfterUpdate()
CurrentDb.Execute "Update TBL_boncommandepapier1 SET edit_commande > True" End Sub
comment dois je m'y prendre pour agir uniquement sur l'enregistrement
sélectionné ?




Il faut préciser l'enregistrement en spécifiant la clé primaire...


Dim strSQL As String
strSQL = "Update TBL_boncommandepapier1 " _
& "SET edit_commande = True Where PK=" & Me.PK

CurrentDb.Execute strSQL
Me.Requery


ou PK est à remplacer par le nom réel de la clé primaire.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
jero
Le #21491852
Salut,
If faut sans doute que tu ajoutes une clause WHERE à ta requête...
Cela peut ressembler à :
CurrentDb.Execute "Update TBL_boncommandepapier1 SET edit_commande = True
Where NomChampTable=" & Me.NomContrôleForm
ou si NomChampTable est de type "Text"
...Where NomChampTable=" & Chr(34) & Me.NomContrôleForm & Chr(34)
A+

"3stone"
Salut,

Rémi wrote:
j'ai un problème sur une zone de liste dans un formulaire
je voudrais à partir d'une sélection dans ma liste agir sur un champ
oui/non pour le passer sur la valeur true




Tu ne dis pas ce que contient cette liste !!!

Car pour "cocher", il suffit de cocher directement dans la liste, non ??


j'y arrive partiellement, seul problème cela agit toujours sur le
premier enregistrement de la table et non pas sur l'enregistrement
que j'ai sélectionné
comment dois je m'y prendre ?
en fait je me rends compte que je n'arrive pas à récupérer la valeur
que j'ai sélectionné.
j'ai ensuite écrit ce code après mise à jour de la liste mais ça agit
sur tous les enregistrements de la table
Private Sub Liste2_AfterUpdate()
CurrentDb.Execute "Update TBL_boncommandepapier1 SET edit_commande >> True" End Sub
comment dois je m'y prendre pour agir uniquement sur l'enregistrement
sélectionné ?




Il faut préciser l'enregistrement en spécifiant la clé primaire...


Dim strSQL As String
strSQL = "Update TBL_boncommandepapier1 " _
& "SET edit_commande = True Where PK=" & Me.PK

CurrentDb.Execute strSQL
Me.Requery


ou PK est à remplacer par le nom réel de la clé primaire.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)

3stone
Le #21492762
Salut,

jero wrote:
Salut,
If faut sans doute que tu ajoutes une clause WHERE à ta requête...
Cela peut ressembler à :




Pourquoi tu réponds à *mon* message ?...
et pourquoi ne lis tu pas les messages en entier ?

;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
jero
Le #21494532
Hello sir,
Pourquoi tu réponds à *mon* message ?... et pourquoi ne lis tu pas les
messages en entier ?


Parceque c'est samedi soir... ;>)
A+
"3stone"
Salut,

jero wrote:
Salut,
If faut sans doute que tu ajoutes une clause WHERE à ta requête...
Cela peut ressembler à :




Pourquoi tu réponds à *mon* message ?...
et pourquoi ne lis tu pas les messages en entier ?

;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)

Mehdi HAMMADI
Le #21496392
Bonjour à tous,

Est-ce que résonner comme si l'on avait un un champ calculer pour la case à
coché qui serait mis à jour en fonction de la sélection ne serait pas
indiqué.

Je m'explique quand la valeur du champ "liste" à pour valeur "k" affecter la
valeur "vrai" au contrôle case à cocher.

Cela serait interpréter comme une modification de valeur de l'enregistrement
en cours et pas besoin d'un Update de la table.


Merci de vos commentaires

Cordialement
MehdiH
___________________________________________

"Rémi" groupe de discussion : et$
bonjour,
j'ai un problème sur une zone de liste dans un formulaire
je voudrais à partir d'une sélection dans ma liste agir sur un champ
oui/non pour le passer sur la valeur true
j'y arrive partiellement, seul problème cela agit toujours sur le premier
enregistrement de la table et non pas sur l'enregistrement que j'ai
sélectionné
comment dois je m'y prendre ?
en fait je me rends compte que je n'arrive pas à récupérer la valeur que
j'ai sélectionné.
j'ai ensuite écrit ce code après mise à jour de la liste mais ça agit sur
tous les enregistrements de la table
Private Sub Liste2_AfterUpdate()
CurrentDb.Execute "Update TBL_boncommandepapier1 SET edit_commande = True"
End Sub
comment dois je m'y prendre pour agir uniquement sur l'enregistrement
sélectionné ?
merci d'avance de votre aide
p.s. : je suis débutant, alors soyez patient


---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 100402-1, 02/04/2010
Analyse le : 03/04/2010 11:43:00
avast! - copyright (c) 1988-2010 ALWIL Software.
http://www.avast.com



Rémi
Le #21500612
Bonjour Jero,
je voudrais d'abord tous vous remercier de m'avoir aider
j'ai retenu la solution de Jero
désolé Pierre, mais je ne suis pas arrivé à faire fonctionner ta solution
!!! j'ai été embêter par ceci "Me.Requery"
je me trouve maintenant devant un autre problème
en cas de non sélection d'un élément de la liste je fais apparaitre un
message d'erreur (voir code ci-après), et je voudrais qu'après validation du
message d'erreur le focus revienne sur ma liste (Liste2), plutôt que se
positionner sur le contrôle suivant (pour obliger l'utilisateur à
sélectionner un item), mais je ne connais pas le code pour le faire.

Private Sub Liste2_Exit(Cancel As Integer)
On Error GoTo erreur
CurrentDb.Execute "Update TBL_boncommandepapier1 SET edit_commande = True
WHERE TBL_boncommandepapier1.numauto=" & Me.Liste2
Exit_Liste2_Exit:
Exit Sub
erreur:
MsgBox "veuillez sélectionner un enregistrement"
Resume Exit_Liste2_Exit
End Sub

merci de votre aide et joyeuses Pâques



---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 100404-0, 04/04/2010
Analyse le : 05/04/2010 11:05:48
avast! - copyright (c) 1988-2010 ALWIL Software.
http://www.avast.com
jero
Le #21510542
Salut,
Tu peux faire :
....
....
erreur:
MsgBox "veuillez sélectionner un enregistrement"
me.Liste2.SetFocus
Resume Exit_Liste2_Exit
End Sub
ou (en début de procédure)
Private Sub Liste2_Exit(Cancel As Integer)
If Nz(Me.Liste2,"")="" then Exit sub
.....
.....
A+
"Rémi" news: %
Bonjour Jero,
je voudrais d'abord tous vous remercier de m'avoir aider
j'ai retenu la solution de Jero
désolé Pierre, mais je ne suis pas arrivé à faire fonctionner ta solution
!!! j'ai été embêter par ceci "Me.Requery"
je me trouve maintenant devant un autre problème
en cas de non sélection d'un élément de la liste je fais apparaitre un
message d'erreur (voir code ci-après), et je voudrais qu'après validation
du message d'erreur le focus revienne sur ma liste (Liste2), plutôt que se
positionner sur le contrôle suivant (pour obliger l'utilisateur à
sélectionner un item), mais je ne connais pas le code pour le faire.

Private Sub Liste2_Exit(Cancel As Integer)
On Error GoTo erreur
CurrentDb.Execute "Update TBL_boncommandepapier1 SET edit_commande = True
WHERE TBL_boncommandepapier1.numauto=" & Me.Liste2
Exit_Liste2_Exit:
Exit Sub
erreur:
MsgBox "veuillez sélectionner un enregistrement"
Resume Exit_Liste2_Exit
End Sub

merci de votre aide et joyeuses Pâques


---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 100404-0, 04/04/2010
Analyse le : 05/04/2010 11:05:48
avast! - copyright (c) 1988-2010 ALWIL Software.
http://www.avast.com



Publicité
Poster une réponse
Anonyme