2010-08-06 9 views
0

Guys ... si je souhaite exécuter un événement de clic sur un bouton qui prend une zone de liste et utilise le champ ID figurant dans la liste dans une instruction SQL en VB, puis est-ilAccess 2007 Utilisation de la valeur ID d'une zone de liste dans l'instruction VBA/SQL

me.MyListbox.selected 

ou

me.MyListbox.value 

pour obtenir cette valeur? pour une raison quelconque, j'ai essayé les deux et aucun ne semble fonctionner. .value renvoie une valeur vide et .selected génère une erreur indiquant que l'argument n'est pas valide.

grâce justin

Répondre

3

Si l'ID est la colonne liée et la zone de liste n'est pas MultiSelect, vous pouvez utiliser uniquement le nom de la zone de liste sans aucun autre qualificatif. Si l'ID n'est pas la colonne liée, utilisez la propriété column pour obtenir la valeur: MyListBox.Column (n) où n est le numéro de colonne à partir de zéro. Pour les listes de sélection multisélect, vous devez parcourir les éléments sélectionnés pour obtenir une liste à utiliser avec SQL. Si vous utilisez la fenêtre de création de requête ou un contrôle sur un formulaire ou un rapport, vous ne pouvez pas utiliser Moi, vous devez utiliser la référence complète (Formulaires! Formname! NomContrôle) ou pour un contrôle sur le même formulaire, juste le nom de la listbox.

+0

pouvez-vous ellaborate sur itérer pour une boîte de sélection multiple. A part ça, ça marche maintenant, merci beaucoup! – Justin

+0

Voir votre question précédente: http://stackoverflow.com/questions/3310904/ms-access-2007-cycling-through-values-in-a-list-box-to-grab-ids-for-a-sql- stat/3311022 # 3311022 – Fionnuala