filtrer une requête basée sur plusieurs zones de liste dans un formulaire
J'ai une base de données Access avec deux tables: la table "contacts" et "pays"
Ceux-ci contiennent un certain nombre de champs dans chaque.
J'ai une question, "Filtre", qui apporte ces deux tables.
Je veux créer un formulaire avec autant de zones de liste comme il y a des champs dans la requête. Un utilisateur peut ouvrir le formulaire et sélectionner plusieurs données de chaque zone de liste - les sources ligne sont attachés à l'arrière pour les deux tableaux ci-dessus. Ensuite, sur le fait de cliquer sur un bouton de la requête est affichée et filtres seraient appliqués dépendent les utilisateurs sélections dans la liste des boîtes. Si rien n'est sélectionné, alors la requête est affichée sans filtres. De même, l'utilisateur n'est pas requis pour effectuer des sélections à partir de toutes les zones de liste.
Toute aide serait grandement appréciée. J'ai levé un peu de code à partir d'autres sites web qui m'a permis d'appliquer des filtres pour une seule zone de liste. La difficulté est en pleine expansion pour plusieurs zones de liste. Est-ce absurde de demander??
PS je peux poster mon code mais je crois que c'est maintenant un "red herring" et le mieux serait de commencer à neuf.
Salut HansUp! La différence entre "Filtrer par Formulaire" et ce que je cherche n'est qu'à la fin de la requête filtrée lui-même affiche pas le formulaire filtré... cela Fait-il sens? Je suis à la recherche pour transmettre les données depuis les listes déroulantes pour se nourrir dans la requête.
Si vous utilisez un formulaire dont la source est la requête, pas sûr de comprendre cette distinction. De toute façon, avez-vous vu Allen Browne Critères de Recherche formulaire?
Suppose que je suis perdu. Voulez-vous ouvrir la requête en mode feuille de données après la sélection de critères de requête dans les zones de texte dans un formulaire?
Je suis encore en train de poignées avec Accès donc j'ai du mal à expliquer exactement ce que je cherche. La forme n'a pas de source d'enregistrement - ses déliés. La liste des boîtes de voir leurs données dans les tables (c'est à dire la source de ligne). La requête est séparé de la forme. En fin de compte, je veux juste afficher le "brut" des données de la requête select. Allen Browne critères de recherche ressemble à ce que j'ai besoin, la seule différence est que l'utilisateur doit être capable de rechercher plusieurs informations à la fois (par exemple: recherche de Jack, Dave, Tim etc. (par l'intermédiaire d'une zone de liste) et le retour de tous ces dossiers (via la requête select)).
OriginalL'auteur user2915372 | 2013-10-24
Vous devez vous connecter pour publier un commentaire.
Ma compréhension est que vous avez un formulaire avec unbound multi-sélectionner les zones de liste et que vous souhaitez ouvrir une requête en mode feuille de données et pour que la requête est fondée sur la zone de liste de sélections.
Cela signifie que vous devez examiner le
ItemsSelected
collection de chaque zone de liste et mettre à jour la requête duSQL
propriété en conséquence.Sur mon formulaire de test, qui comprend une multi-sélection de zone de liste nommée lstFname, en sélectionnant les noms Jack, Dave, et Tim dans la zone de liste, puis en cliquant sur le bouton de commande (cmdOpenQuery), crée ce
SELECT
déclaration.Alors que la déclaration est enregistrée en tant que
SQL
propriété d'une requête nommée qrySearchForm. Et, enfin, que la question est ouverte en mode feuille de données.Cependant, mon exemple ne comprend qu'une seule zone de liste, et vous en avez plusieurs. Vous avez donc plus de travail à faire pour étendre cet exemple simple.
Voici mon module de code du formulaire ...
Génial! J'ai maintenant deux zones de liste de travail en tandem. Pour ceux qui recherchent plus dans j'ai strnames1, strnames2, strnames3 etc. Ensuite, à chaque itération de la code je l'ai remplacé
"WHERE c.fname IN (" & strNames1 & ")
avec"AND c.fxxxx IN (" & strNamesx & ")"
.OriginalL'auteur HansUp