[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Problèmes Access des débutants - Problèmes Access des débutants


clos par 3Stone le 21/06/2014 : 19:07  Sujet n° 725  Question de débutant

le 16/06/2014 : 16:39
par lance

Anonyme

visiteur

Bonjour,

J'ai créée une table qui a une liste déroulante allant chercher le nom d'un objet dans une autre table.
J'aimerais maintenant faire en sorte de pouvoir écrire la donnée que je veux si elle n'est pas dans le menu déroulant et qu'elle devienne aussi une nouvelle donnée de ce même menu.

En espérant avoir été clair,
Vous remerciant par avance,

Lancelot MAUNY
Ecrire à lance  sujet clos  Haut

[]   

Réponse n° 1
--------
le 16/06/2014 : 19:30
par 3Stone

3Stone

Administrateur

Bonjour,

Le principe est identique à ce code, il faut bien sûr adapter le nom de la table.

Cordialement,
Pierre (3Stone)
Ecrire à 3Stone   clos par 3Stone le 21/06/2014 : 19:07  Haut
Réponse n° 2
--------
le 17/06/2014 : 13:27
par lance

Anonyme

visiteur
Bonjour
Merci pour cette réponse rapide, une petite précision s'il vous plait :
Où est ce que ce code s'écrit ?

Cordialement
Lancelot Mauny
Ecrire à lance   clos par 3Stone le 21/06/2014 : 19:07  Haut
Réponse n° 3
--------
le 17/06/2014 : 16:00
par 3Stone

3Stone

Administrateur

Bonjour,
 
Citation :

Où est ce que ce code s'écrit ?

 
Eh bien, c'est écrit :
 
Code :
Private Sub Combo0_NotInList(NewData As String, Response As Integer)
 
donc, dans l'événement NotInList de la dite liste (qui doit se trouver sur un formulaire, bien sûr).

Cordialement,
Pierre (3Stone)
  clos par 3Stone le 21/06/2014 : 19:07  Haut
Réponse n° 4
--------
le 19/06/2014 : 10:28
par lance

Anonyme

visiteur
Bonjour,

J'ai aujourd'hui une question un peu plus corsée,

J' aimerais faire en sorte que le contenu d'une zone de liste déroulante dépende de la valeur d'une autre liste, seulement cette dernière est à choix multiple.
J'ai donc noté
 // SELECT [T_Service].N°, [T_Service].service_nom FROM T_Service WHERE [T_Service].service_entreprises=Forms![F_Salarié].lst_salarié_entreprises; //
 où  service_entreprises peut sélectionner plusieurs entreprises et lst_salarié_entreprises ne peut choisir qu'une entreprise.

Voilà, j'espère que cela n'est pas trop confus.

Merci par avance pour votre aide.
Cordialement
Lancelot
Ecrire à lance   clos par 3Stone le 21/06/2014 : 19:07  Haut
Réponse n° 5
--------
le 19/06/2014 : 18:36
par 3Stone

3Stone

Administrateur

Bonjour,

Oui, c'est possible... bien que je ne vois pas l'utilité de ce genre de fonctionnement.

D'abord, une sélection multiple ne peut se faire que sur une zone de liste (listbox), une liste déroulante (combobox) ne le permet pas.

Ensuite, pour récupérer les items sélectionnés dans cette zone de liste, il faut parcourir cette liste.

Code exemple :
Code :
    For Each varItem In ctl.ItemsSelected
sSQL = sSQL & ctl.ItemData(varItem) & ","
Next varItem
on admet ici que l'identifiant numérique (la clé primaire) se trouve dans la première colonne de la zone de liste.
 
Ensuite, il faut construire la chaine de caractères qui représentera l'SQL source de la seconde liste. On placera ce code sur l'événement "Après mise à jour" de la première liste.
Admettons que la première liste se nomme "lst_Tous" et la seconde "lst_Selectionne".

On aura alors un code complet qui ressemble à ceci :
 
Code :
    Dim ctl As Control
Dim varItem As Variant
Dim sSQL As String
Set ctl = Me.lst_tous
sSQL = "Select * from LaTable where [PK] IN ("
For Each varItem In ctl.ItemsSelected
sSQL = sSQL & ctl.ItemData(varItem) & ","
Next varItem
'on supprime la dernière virgule
sSQL = Left(sSQL, Len(sSQL) - 1)
'on ferme la parenthèse
sSQL = sSQL & ")"
'on attribue la chaine à la source de la seconde liste
Me.lst_selection.RowSource = sSQL
 
PK (primary key) représente le nom de la clé primaire.

Cordialement,
Pierre (3Stone)
  clos par 3Stone le 21/06/2014 : 19:07  Haut
Réponse n° 6
--------
le 20/06/2014 : 09:02
par lance

Anonyme

visiteur
J'ai réussi, merci pour votre aide.
Ecrire à lance   clos par 3Stone le 21/06/2014 : 19:07  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut