Choix multiple liste déroulante base Access
Résolu/Fermé
jollyjohn
Messages postés
100
Date d'inscription
mercredi 16 juin 2010
Statut
Membre
Dernière intervention
18 janvier 2016
-
Modifié par jollyjohn le 23/06/2010 à 10:32
jollyjohn Messages postés 100 Date d'inscription mercredi 16 juin 2010 Statut Membre Dernière intervention 18 janvier 2016 - 28 juin 2010 à 15:02
jollyjohn Messages postés 100 Date d'inscription mercredi 16 juin 2010 Statut Membre Dernière intervention 18 janvier 2016 - 28 juin 2010 à 15:02
A voir également:
- Access formulaire liste déroulante choix multiple
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Google sheet liste déroulante - Accueil - Guide bureautique
- Formulaire de réclamation facebook - Guide
- Paris multiple 2/5 explication ✓ - Forum Loisirs / Divertissements
2 réponses
blux
Messages postés
26563
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
2 janvier 2025
3 320
23 juin 2010 à 11:10
23 juin 2010 à 11:10
Salut,
dans ce cas, il faut une zone de liste avec l'option 'sélection multiple' ayant la valeur 'étendu'...
dans ce cas, il faut une zone de liste avec l'option 'sélection multiple' ayant la valeur 'étendu'...
jollyjohn
Messages postés
100
Date d'inscription
mercredi 16 juin 2010
Statut
Membre
Dernière intervention
18 janvier 2016
37
Modifié par jollyjohn le 28/06/2010 à 11:01
Modifié par jollyjohn le 28/06/2010 à 11:01
Merci blux. maintenant comment puis-je faire pour récupérer la valeur de la liste dans une requête? J'arrive bien a sélectionner les valeurs (ce qui n'est pas un exploit...) mais j'ai essayé un code pour récupérer les valeurs qui ne fonctionnent pas. Le voici :
Private Sub Liste27_Click()
Dim lngBoucle As Integer
Dim strVariable As String
For lngBoucle = 0 To List27.ListCount - 1
If Liste27.Selected(lItem) = True Then
strVariable = strVariable & Liste27.list(lngBoucle) & ","
ListBox27.Selected(lngBoucle) = False
End If
Next
'Enlever la dernière virgule
strVariable = Left(strVariable, Len(strVariable) - 1)
'Ajouter les informations SQL à la Variable
strVariable = "SELECT MATERIEL.[Type matériel], MATERIEL.Fournisseur, CENTRE.Centre, CENTRE.[Code region], MATERIEL.[Centre de cout], MATERIEL.Marque, MATERIEL.Modèle, MATERIEL.[Multifonction Fax], MATERIEL.[Multifonction Scanner], MATERIEL.[Num serie]FROM MATERIEL, CENTRE, Region, SITE WHERE MATERIEL.[Code site] = SITE.[Code site] And SITE.[Code centre] = CENTRE.[Code centre] And CENTRE.[Code region]=REGION.[Code region]
WHERE Region = " & strVariable"
Requête_region_et_centre_sous_formulaire.RowSource strVariable
Requête_region_et_centre_sous_formulaire.Requery
End Sub
Ma listbox liste27 affiche les régions de la table région.
Private Sub Liste27_Click()
Dim lngBoucle As Integer
Dim strVariable As String
For lngBoucle = 0 To List27.ListCount - 1
If Liste27.Selected(lItem) = True Then
strVariable = strVariable & Liste27.list(lngBoucle) & ","
ListBox27.Selected(lngBoucle) = False
End If
Next
'Enlever la dernière virgule
strVariable = Left(strVariable, Len(strVariable) - 1)
'Ajouter les informations SQL à la Variable
strVariable = "SELECT MATERIEL.[Type matériel], MATERIEL.Fournisseur, CENTRE.Centre, CENTRE.[Code region], MATERIEL.[Centre de cout], MATERIEL.Marque, MATERIEL.Modèle, MATERIEL.[Multifonction Fax], MATERIEL.[Multifonction Scanner], MATERIEL.[Num serie]FROM MATERIEL, CENTRE, Region, SITE WHERE MATERIEL.[Code site] = SITE.[Code site] And SITE.[Code centre] = CENTRE.[Code centre] And CENTRE.[Code region]=REGION.[Code region]
WHERE Region = " & strVariable"
Requête_region_et_centre_sous_formulaire.RowSource strVariable
Requête_region_et_centre_sous_formulaire.Requery
End Sub
Ma listbox liste27 affiche les régions de la table région.
blux
Messages postés
26563
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
2 janvier 2025
3 320
28 juin 2010 à 11:13
28 juin 2010 à 11:13
Et c'est quoi qui ne marche pas ?
jollyjohn
Messages postés
100
Date d'inscription
mercredi 16 juin 2010
Statut
Membre
Dernière intervention
18 janvier 2016
37
28 juin 2010 à 15:02
28 juin 2010 à 15:02
En fait mon premier problème vient du fait que je n'arrive déjà pas a exécuter une requête dans du code vb même très basique et afficher le résultat dans un sous formulaire. j'ai bien essayé avec ce code des plus basiques pour m'initier mais rien que ça, ça ne fonctionne pas.
Ainsi, imaginons que j'ai une table matériel et un sous formulaire "sous_form". Comment puis-je exécuter la requête et afficher son résultat dans mon sous formulaire via du code vb?
Si vous pouviez me donner un exemple ou même me dire comment faire avec le mien ça m'aiderais beaucoup.
NB : Je n'associe pas directement le sous formulaire à une requête via l'interface car je souhaites que l'on puisse sélectionner plusieurs régions. Ainsi je pense mettre en place des checkbox et changer la requête en fonction des cases qui sont cochées ou non.
je pense ainsi faire quelque chose de ce type :
Dim SQL As String
Dim SQLWhere As String
SQL = "SELECT Code materiel, Centre de cout, Type materiel, Fournisseur, Marque, Modele, Code site, Code centre, Code region FROM MATERIEL, CENTRE WHERE CENTRE!Code centre=SITE!Code centre And CENTRE!Code region=REGION!Code region"
If Me.Cocher2 = True Then
SQL = SQL & "And MATERIEL![Code region] like '*" & Me.Étiquette2 & "*' "
End If
If Me.Cocher4 = True Then
SQL = SQL & "And MATERIEL![Code region] like '*" & Me.Étiquette4 & "*' "
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.Fille0.RowSource = SQL
Me.Fille0.Requery
Merci d'avance.
Ainsi, imaginons que j'ai une table matériel et un sous formulaire "sous_form". Comment puis-je exécuter la requête et afficher son résultat dans mon sous formulaire via du code vb?
Si vous pouviez me donner un exemple ou même me dire comment faire avec le mien ça m'aiderais beaucoup.
NB : Je n'associe pas directement le sous formulaire à une requête via l'interface car je souhaites que l'on puisse sélectionner plusieurs régions. Ainsi je pense mettre en place des checkbox et changer la requête en fonction des cases qui sont cochées ou non.
je pense ainsi faire quelque chose de ce type :
Dim SQL As String
Dim SQLWhere As String
SQL = "SELECT Code materiel, Centre de cout, Type materiel, Fournisseur, Marque, Modele, Code site, Code centre, Code region FROM MATERIEL, CENTRE WHERE CENTRE!Code centre=SITE!Code centre And CENTRE!Code region=REGION!Code region"
If Me.Cocher2 = True Then
SQL = SQL & "And MATERIEL![Code region] like '*" & Me.Étiquette2 & "*' "
End If
If Me.Cocher4 = True Then
SQL = SQL & "And MATERIEL![Code region] like '*" & Me.Étiquette4 & "*' "
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.Fille0.RowSource = SQL
Me.Fille0.Requery
Merci d'avance.