{Access} liste de choix multiple
marceuf
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
marceuf Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
marceuf Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans une liste de choix à sélection multiple basée sur une table (500 enr) je cherche à mettre à jour un champ ‘SELECTION’ en ‘OUI’ pour les enregistrements sélectionné.
De telle sorte qu’a tout moment je puisse vérifier ce qui a été déjà sélectionné ou non.
Je pense que je pourrais arriver à cela en utilisant une requête de non correspondance sur les deux tables (la table de la liste et la table dans laquelle s’enregistre les données) mais, je trouve cela un peu lourd d’autant que le champ où se mettent les sélections est un champ type ‘memo’, ce qui m’obligerait, avant, de faire une requête pour extraire les données et les reformater pour pouvoir les comparer …..
Bref, comment faire cela simplement en mettant à jour le champ sélection au fur et à mesure des sélections?? Je ne trouve pas.
Merci d’avance pour vos idées.
Marc F
Dans une liste de choix à sélection multiple basée sur une table (500 enr) je cherche à mettre à jour un champ ‘SELECTION’ en ‘OUI’ pour les enregistrements sélectionné.
De telle sorte qu’a tout moment je puisse vérifier ce qui a été déjà sélectionné ou non.
Je pense que je pourrais arriver à cela en utilisant une requête de non correspondance sur les deux tables (la table de la liste et la table dans laquelle s’enregistre les données) mais, je trouve cela un peu lourd d’autant que le champ où se mettent les sélections est un champ type ‘memo’, ce qui m’obligerait, avant, de faire une requête pour extraire les données et les reformater pour pouvoir les comparer …..
Bref, comment faire cela simplement en mettant à jour le champ sélection au fur et à mesure des sélections?? Je ne trouve pas.
Merci d’avance pour vos idées.
Marc F
A voir également:
- {Access} liste de choix multiple
- Liste déroulante de choix excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Ecran multiple pc - Guide
- Liste de diffusion whatsapp - Guide
14 réponses
bonjour
tu veux que quand tu selectionne un enregistrement de ta liste de choix le champ selection devienne OUI c ca?
tu veux que quand tu selectionne un enregistrement de ta liste de choix le champ selection devienne OUI c ca?
re
alors il faut que ta liste de chois soit basé sur ta clé primaire (champ_premaire pr requete)
quand tu la creer access a du te demandé quel champ tu voulais enrtegistre pr t en reservir
ensuite il te faut creeer une requete de mise a jour:
update ta_table set validation=true where ton_champ_primaire = forms!nom_du_formulaire!nom_de_ta_liste_de_choix
exemple:
update personage set validation = true where n° = forms!recherche!liste2
ensuite sur clique de ta liste de choix tu creer une procedure evenementielle:
docmd.openquery "nom-requete"
me.refresh
et voila le tour est joué si besoin hesite pas si les message de mise ajour t embete dis moi je te dirais comment les enlever
alors il faut que ta liste de chois soit basé sur ta clé primaire (champ_premaire pr requete)
quand tu la creer access a du te demandé quel champ tu voulais enrtegistre pr t en reservir
ensuite il te faut creeer une requete de mise a jour:
update ta_table set validation=true where ton_champ_primaire = forms!nom_du_formulaire!nom_de_ta_liste_de_choix
exemple:
update personage set validation = true where n° = forms!recherche!liste2
ensuite sur clique de ta liste de choix tu creer une procedure evenementielle:
docmd.openquery "nom-requete"
me.refresh
et voila le tour est joué si besoin hesite pas si les message de mise ajour t embete dis moi je te dirais comment les enlever
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok, je vais essayé comme tu dis.
a/ procédure sur double clic, pourquoi??
b/ dans ce cas je vais faire un bouton qui une fois sélectionné enregistre les données dans ma table, donc, j'ajouterai la requête que tu dis sur cette procédure.
merci, te tiens au courant dès que j'ai eu le temps de faire ça.
a/ procédure sur double clic, pourquoi??
b/ dans ce cas je vais faire un bouton qui une fois sélectionné enregistre les données dans ma table, donc, j'ajouterai la requête que tu dis sur cette procédure.
merci, te tiens au courant dès que j'ai eu le temps de faire ça.
sur double clic car si tu fais defilé ta liste de choix avec la fleche du bas cela executera le code car la fleche du bas corrspond a un clic voila pourquoicdouble clic mais c vrai que tu peu creer un bouton!!!!
bon courage j'attend de t new
bon courage j'attend de t new
pas facile!!
je bloque pour deux raisons:
1/ le champs est de type caractère (pas moyen de convertir en numérique avec cvar ??)
2/ c'est une sélection multiple donc j'ai une réponse du style: "1""5""16""23""40""50".
Il faudrait faire une boucle pour extraire chaque nombre et exécuter la requête chaque fois.
ou alors, j'aimerais mieux ne pas convertir et utiliser un autre champs que ma clé primaire
(mais là tu avais commencé par me dire qu'il m'en fallait une)
peut-tu m'aider pour cette boucle ?
je bloque pour deux raisons:
1/ le champs est de type caractère (pas moyen de convertir en numérique avec cvar ??)
2/ c'est une sélection multiple donc j'ai une réponse du style: "1""5""16""23""40""50".
Il faudrait faire une boucle pour extraire chaque nombre et exécuter la requête chaque fois.
ou alors, j'aimerais mieux ne pas convertir et utiliser un autre champs que ma clé primaire
(mais là tu avais commencé par me dire qu'il m'en fallait une)
peut-tu m'aider pour cette boucle ?
oula je comprend pas ce que tu me dis!!!!!!!!!!!!!!
pourquoi une boucle!!! pas besoin puisque tu execute la requete a chaque changement une boucle servirai si tu devais parcourir t enregistrement quel sont t champ exactement et kel champ est egal au quel !!!
pourquoi une boucle!!! pas besoin puisque tu execute la requete a chaque changement une boucle servirai si tu devais parcourir t enregistrement quel sont t champ exactement et kel champ est egal au quel !!!
c'est une sélection multiple, c'est là le problème
donc dans ma liste de choix, je sélectionne en glissant la souris ou en cliquant sur plusieurs choix. ce qui me donne une valeur contenu dans un champ mémo du style "1""5""16""23""40""50".
et j'aimerai que pour chacun de ces enregistrement dans ma table pour la liste de choix le champ sélection se mette sur OUI.
pour une seule valeur de type numérique ta procédure fonctionne, je l'ai testée.
mais, dans les conditions que je t'indique il faudrait à mon avis faire une boucle pour extraire chaque valeur,
j'essaye mais m'y perd un peu.
merci de ton aide
donc dans ma liste de choix, je sélectionne en glissant la souris ou en cliquant sur plusieurs choix. ce qui me donne une valeur contenu dans un champ mémo du style "1""5""16""23""40""50".
et j'aimerai que pour chacun de ces enregistrement dans ma table pour la liste de choix le champ sélection se mette sur OUI.
pour une seule valeur de type numérique ta procédure fonctionne, je l'ai testée.
mais, dans les conditions que je t'indique il faudrait à mon avis faire une boucle pour extraire chaque valeur,
j'essaye mais m'y perd un peu.
merci de ton aide
ok, on ne cherche plus, j'ai trouvé............
merci quand même
j'ai fais une boucle for each ...next .....
et j'ai changé le champ et l'emplacement de " docmd.openquery" qui n'était pas intégré dans la boucle
maintenant ça marche
a+
merci
merci quand même
j'ai fais une boucle for each ...next .....
et j'ai changé le champ et l'emplacement de " docmd.openquery" qui n'était pas intégré dans la boucle
maintenant ça marche
a+
merci
Private Sub enregistrer_Click()
Dim varelt As Variant
Dim str As String
Dim stDocName As String
Dim sélection
If Me.cours.ItemsSelected.Count = 0 Then
MsgBox "aucun cours n'a été sélectionné"
Else
For Each varelt In Me.cours.ItemsSelected
str = str & """" & Me.cours.ItemData(varelt) & """'"
Next varelt
str = "" & Left(str, Len(str) - 1) & ""
Me!cours = str
End If
str = ""
If Me.EAC.ItemsSelected.Count = 0 Then
MsgBox "aucune compétences n'a été sélectionnées"
Else
For Each varelt In Me.EAC.ItemsSelected
str = str & """" & Me.EAC.ItemData(varelt) & """'"
EAC = Me.EAC.ItemData(varelt)
MsgBox EAC
stDocName = "EAC-compétences"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Next varelt
str = "" & Left(str, Len(str) - 1) & ""
Me!EAC = str
End If
End Sub
PS: les msgbox ne sont là que pour vérifier les valeurs (je les supprime plus tard)
Dim varelt As Variant
Dim str As String
Dim stDocName As String
Dim sélection
If Me.cours.ItemsSelected.Count = 0 Then
MsgBox "aucun cours n'a été sélectionné"
Else
For Each varelt In Me.cours.ItemsSelected
str = str & """" & Me.cours.ItemData(varelt) & """'"
Next varelt
str = "" & Left(str, Len(str) - 1) & ""
Me!cours = str
End If
str = ""
If Me.EAC.ItemsSelected.Count = 0 Then
MsgBox "aucune compétences n'a été sélectionnées"
Else
For Each varelt In Me.EAC.ItemsSelected
str = str & """" & Me.EAC.ItemData(varelt) & """'"
EAC = Me.EAC.ItemData(varelt)
MsgBox EAC
stDocName = "EAC-compétences"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Next varelt
str = "" & Left(str, Len(str) - 1) & ""
Me!EAC = str
End If
End Sub
PS: les msgbox ne sont là que pour vérifier les valeurs (je les supprime plus tard)
bonjour, je continue ce post qui était résolu car le sujet est tjs le même.
grâce a votre aide j'ai bien avancé dans mon programme.
j'ai encore un petit souci avec mes listes de choix et ne trouve pas:
Comment faire dans un formulaire, lorsqu’ avec un bouton ‘valider’ on crée un nouvel enregistrement, les champs des liste de choix sélectionnées précédemment soient désélectionné ?
En d’autres termes, comment désélectionner (contraste noir) automatiquement les champs sélectionnés dans une liste de choix multiple.
merci d'avance
grâce a votre aide j'ai bien avancé dans mon programme.
j'ai encore un petit souci avec mes listes de choix et ne trouve pas:
Comment faire dans un formulaire, lorsqu’ avec un bouton ‘valider’ on crée un nouvel enregistrement, les champs des liste de choix sélectionnées précédemment soient désélectionné ?
En d’autres termes, comment désélectionner (contraste noir) automatiquement les champs sélectionnés dans une liste de choix multiple.
merci d'avance