Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requète sélective ???

5 réponses
Avatar
Cinémas Décavision
Bonjour Amis Pros d'Access 2k,

Problème simpliste pur vous mais dur pour moi éternel débutant....
Une REQUETE PARAMETRABLE et FACILE à utiliser.

Dans une table j'attribue un champ à :

Différents métiers....
Ex Peintre , carreleur , maçons, etc...
Une quarantaine environ.

Je sais faire une requète en mettant comme critère: Comme"carreleur"

Mais s'il me faut chaque fois MODIFIER cette Rq pour avoir un autre métier
alors là c'est long et pas bien pro.

Avez vous un exemple sans VB et simple...

Merci à tous et bon Week End.

Bernard


--
Bernard FANGET Movie Room Manager
Multiplexe Cinéma DECAVISION
7 avenue de Brogny
74000 ANNECY - FRANCE
Fax 04 50 52 58 31
pdg@decavision.fr

5 réponses

Avatar
Eric
Bonjour,

Sur le champ metier, tu mets en critere: [Pour quel metier ?]
et chaque fois que tu ouvriras la requete, Acces affichera une boite
demandant la valeur du parametre [Pour quel métier ?].

Si tu ne veux pas taper tous les caractères alors tu mets :
Comme [Pour quel metier ?] & "*"
En tapant seulement le mot car dans la fenêtre qui s'ouvrira à
l'exécution de la requête, la requête retournera tous les
enregistrements pour lesquels le metier commence par les caractères car

Bonjour Amis Pros d'Access 2k,

Problème simpliste pur vous mais dur pour moi éternel débutant....
Une REQUETE PARAMETRABLE et FACILE à utiliser.

Dans une table j'attribue un champ à :

Différents métiers....
Ex Peintre , carreleur , maçons, etc...
Une quarantaine environ.

Je sais faire une requète en mettant comme critère: Comme"carreleur"

Mais s'il me faut chaque fois MODIFIER cette Rq pour avoir un autre métier
alors là c'est long et pas bien pro.

Avez vous un exemple sans VB et simple...

Merci à tous et bon Week End.

Bernard




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Cinémas Décavision
Merci pour cette réponse Ultra rapide, mais cela ne résoud pas mon problème,
car je n'ai pas la liste sous les yeux et une listbox dans cette rq
permettrai de sélectionner ce champ...

Voici ma Rq comme tu me l'a dit... Cela marche, mais il me faut trouver le
nom et l'othographe EXACT pour afficher le résultat de cette Rq...

Et MERCI beaucoup de ton aide.
Bernard

------------------------------------------------

SELECT DISTINCTROW [Bd Adresses].*,
IIf(Len(nz([SOCIETE]))=0,[NOM],[SOCIETE]) AS CLEF, [Bd Adresses].TYPE
FROM [Bd Adresses]
WHERE ((([Bd Adresses].TYPE)=[Pour quel type ?]))
ORDER BY IIf(Len(nz([SOCIETE]))=0,[NOM],[SOCIETE])
WITH OWNERACCESS OPTION;

------------------------------------------------
Avatar
Eric
re,
Dans ce cas là, il te faut faire un minimum de VBA et créer un
formulaire avec une Zone de liste modifiable (liste déroulante ou combo)
qui contiendrait tous les metiers (Type). Soit Form1 le nom du
formulaire et MaCombo le nom de la liste déroulante que tu rempliras
avec l'assistant.
En critere du champ Type dans la requête tu mets Forms!Form1!MaCombo.
Sauver la requête.

Il te faut quand même faire un minimum de VBA mais c'est pas dur.
Tu ouvres le formulaire Form1 en mode modification. Tu sélectionnes la
liste déroulante MaCombo et tu affiches ses propriétés par un clic droit
dessus. Dans la fenêtre des propriétés, Onglet Evènements, sur la ligne
Après mise à jour tu cliques sur les 3. (...) au bout et choisis dans la
fenêtre qui s'ouvre Générateur de code. Ca te fait basculer dans
l'editeur VB.

Private Sub MaCombo_AfterUpdate()

End Sub

Entre ces deux lignes tu mets :
DoCmd.OpenQuery "NomDeTaRequête"
pour obtenir :

Private Sub MaCombo_AfterUpdate()
DoCmd.OpenQuery "NomDeTaRequête"
End Sub

Voila c'est fini pour le VBA. Sauver

Pour lancer ta requête il faut que le formulaire soit *ouvert* , tu
choisis un Type et hop la requête t'affiche les données voulues.



Merci pour cette réponse Ultra rapide, mais cela ne résoud pas mon problème,
car je n'ai pas la liste sous les yeux et une listbox dans cette rq
permettrai de sélectionner ce champ...

Voici ma Rq comme tu me l'a dit... Cela marche, mais il me faut trouver le
nom et l'othographe EXACT pour afficher le résultat de cette Rq...

Et MERCI beaucoup de ton aide.
Bernard

------------------------------------------------

SELECT DISTINCTROW [Bd Adresses].*,
IIf(Len(nz([SOCIETE]))=0,[NOM],[SOCIETE]) AS CLEF, [Bd Adresses].TYPE
FROM [Bd Adresses]
WHERE ((([Bd Adresses].TYPE)=[Pour quel type ?]))
ORDER BY IIf(Len(nz([SOCIETE]))=0,[NOM],[SOCIETE])
WITH OWNERACCESS OPTION;

------------------------------------------------




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...
J'ai oublié de te préciser que la requête ne peut etre ouverte que si le
formulaire l'est. En fait, avec ce que je t'ai donné, tu lances le
formulaire , choisis le type dans la liste et le code VBA t'ouvre la
requete. Donc tu ne lances pas directement la requête.

--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Avatar
Cinémas Décavision
Eric

Merci c'est Super sympa, je vais de ce pas essayer cela.

Merci encore de tes précieux conseils et bon Week End.

Bernard


--
Bernard FANGET Movie Room Manager
Multiplexe Cinéma DECAVISION
7 avenue de Brogny
74000 ANNECY - FRANCE
Fax 04 50 52 58 31