Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/04/2011, 16h06   #1
Invité de passage
 
Inscription : avril 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 18
Points : 1
Points : 1
Par défaut formulaire Recherche multicritère - liste déroulante/Requête

Bonjour,

je vais tenter d'être clair :

J'ai une table avec différents champs, dont l'un qui contient le nom de divers produits, et un autre qui spécifie, grâce à un booléen (1 ou 0), si c'est un agrosolvant ou non.

J'ai deux requettes :
- L'une qui n'affiche que les produits étant des agrosolvants
- L'autre qui n'affiche que les produits n'étant pas des agrosolvants

J'ai créé une liste déroulante, dans laquelle apparaissent ces deux mots :
- Agrosolvant
- Solvant classique


Ce que je souhaiterai, c'est que lorsque je sélectionne l'un des deux, par exemple agrosolvant, cela m'affiche tous les agrosolvants dans une liste à part.

--> Mon problème, c'est que je ne parviens pas à associer mes requêtes aux champs présent dans la liste déroulante.


J'ai vraiment besoin de votre aide!
Merci d'avance.
kichnifou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 08h57   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
Bonjour,

Pour utiliser le contenu d'un controle d'un formulaire à une requete il suffit d'y mettre la référence au controle. Comme cet exemple :

Code :
SELECT Champ1, champ2, ..... FROM table WHERE champ3=forms!nomform!nomcontrole
Dans certain cas il faut également inscrire la référence en tant que paramètre. Voir l'option Paramétres... dans le menu de conception requete.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 09h08   #3
Invité de passage
 
Inscription : avril 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 18
Points : 1
Points : 1
Désolé mais je n'ai rien compris...

Je vais expliquer ce que je ne sais pas faire autrement :

J'aimerai que, lorsque je clique sur un bouton "Recherche", celui-ci recherche quel choix à été fait dans la liste déroulante, exécute la requête associé, et affiche son contenue dans une zone de texte.

EDIT : Personne ne peux m'aider?
J'ai l'impression que mon problème est super basique. Seulement, je suis un débutant, donc je ne parvient pas à trouver la solution par moi-même. j'ai besoin d'aide
kichnifou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2011, 10h14   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
Bonjour,

Dans un premier temps, afficher le résultat d'une requête dans une zone de texte ce n'est pas possible. La requete renvoie un recordset et la zone de texte attend un string. Soit tu dois utiliser Dlookup() (voir le tuto sur les fonctions de domaine), soit charger la requete dans un recordset pour en extraire le contenu du champ souhaité (peut être encore un peu trop complexe vu ton niveau) ou bien encore, afficher le résultat de la requete dans une zone de liste.

L'exemple que je t'ai fourni est exactement ce que tu cherches à faire.

Il suffit simplement d'adapter le paramètre Forms à ton cas. Tu peux consulter le tuto sur les appels formulaire.

Ton bouton "rechercher" ou tout autre événement (voir le tuto sur les événements) ne fera que raffraichir la requete.

Donc si tu utilise une zone de liste (en VBA) :
Si tu choisi Dlookup il faudra réaffecter la fonction à la zone de texte :
Code :
me.montexte = dlookup(.....)
Ces 2 dernières solutions étant à mon avis les plus simples.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 10h11   #5
Invité de passage
 
Inscription : avril 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 18
Points : 1
Points : 1
Merci, mais du coup j'ai opté pour la solution que l'on trouve ici :
http://cafeine.developpez.com/access...echerchemulti/

Sauf que je ne veux pas faire avec cette histoire de case a cocher.
J'aimerai simplement faire un choix dans la liste déroulante, et que dans la zone de liste cela fasse le tri en fonction du choix.

Mon problème se situe à ce niveau là :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub RefreshQuery()
 Dim SQL As String
 Dim SQLWhere As String
 
SQL = "SELECT MARQUE, REF, AGROS FROM Produits"
 If Me.Modifiable296 = "Agrosolvant" Then
    SQL = SQL & "And Produits!AGROS = '" & Me.Modifiable296 & "' "
 End If
 
SQL = SQL & ";"
 
 Me.Liste292.RowSource = SQL
 Me.Liste292.Requery
AGROS = Un des champs de ma table contenant "Agrosolvant" ou "Solvant classique" en fonciton des produits
Modifiable296 = Ma liste déroulante créée à partir de "AGROS" contenant les deux choix suivants : "Agrosolvant" et "Solvant classique"
Liste292 = Ma liste où sont répertoriés les marques et les références de mes produits.

J'explique : dans ma zone de liste apparait la marque et la référence des produits. Ici, j'incrémente ma requête SQL avec celle-ci :

Code :
1
2
3
If Me.Modifiable296 = "Agrosolvant" Then
    SQL = SQL & "And Produits!AGROS = '" & Me.Modifiable296 & "' "
 End If
Je veux que lorsque "Agrosolvant" est choisis dans la liste, cela me fasse apparaitre QUE les agrosolvant.
Mais comme cela ne marche pas, c'est qu'il y a forcément une erreur dasn mon code... mais lequel?

EDIT : C'est bon j'ai trouvé.
Je ne clos pas le sujet pour le moment car je risque d'avoir d'autre problèmes par la suite
kichnifou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 13h14   #6
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
Les espaces ! SQL c'est comme n'importe quel langage !
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 13h27   #7
Invité de passage
 
Inscription : avril 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 18
Points : 1
Points : 1
Oui voilà j'avais ce problème mais il est résolu ^^

Maintenant j'aimerai savoir comment peut-on afficher dans une zonne de texte l'élément sélectionné dans une table?

Je m'explique : J'ai un bouton qui va m'ouvrir une table. a coté de ce bouton se trouve un champs texte.
Tout ce que j'aimerai, c'est que, quand je double click sur un enregistrement de la table, et bien... Pouf! le voici dans le champs texte

Mais euh... comment faire?

EDIT : Personne ne sait comment on fait?
kichnifou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h38.


 
 
 
 
Partenaires

Hébergement Web