OVH Cloud OVH Cloud

Formulaire avec critere multi-champs

4 réponses
Avatar
Pierre Dumas
Bonjour

Je voudrais realiser un formulaire avec un critere multi=20
champs.

Dans ma table TRG il y a plusieurs champs :
Noms, Ville, Salaire

Je voudrais faire un formulaire ou je pourrais choisir un=20
des champ et mettre le critere qui me plait. Ca je sais=20
faire avec 3 zones de recherche (une pour le nom, une pour=20
la ville, une pour le salaire).
Mon objectif serait d’avoir 2 zones =E0 remplir (une ou=20
j’indique le champ, plus tard, je le ferai en liste de=20
choix ; une ou je met mon critere).
Et ca je n’arrive pas a faire.

Dans la source du formulaire j’essaie de m’inspirer de ce=20
que je sais faire.
SELECT TRG.Noms, TRG.Ville, TRG.Salaire FROM TRG WHERE=20
TRG.Ville=3D[Forms]![FRTest]![MonCritere];
Ou l’on recherche les villes correspondants au critere=20
indique dans mon formulaire.


Je voudrais ecrire quelque chose du genre :
SELECT TRG.Noms, TRG.Ville, TRG.Salaire FROM TRG WHERE=20
TRG. " & [Forms]![FRTest]![MonChamp] & "=3D[Forms]![FRTest]!
[MonCritere];
Ou l’on recherche sur le champ indique dans mon=20
formulaire, les enregistrements qui correspondent au=20
critere indique dans le formulaire.
Mais cela ne fonctionne pas.

Quelle est la solution ?

Merci beaucoup

Pierre

4 réponses

Avatar
Raymond
Bonjour.

Ton recordsource peur être modifié comme suit:
Me.RecordSource = "SELECT TRG.Noms, TRG.Ville, TRG.Salaire FROM TRG WHERE "
& "TRG." & Me.Monchamp & " = " & "'" & Me.Moncritere & "'"


--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Pierre Dumas" a écrit dans le message de
news:4d5c01c37c2c$5840c1b0$
Bonjour

Je voudrais realiser un formulaire avec un critere multi
champs.

Dans ma table TRG il y a plusieurs champs :
Noms, Ville, Salaire

Je voudrais faire un formulaire ou je pourrais choisir un
des champ et mettre le critere qui me plait. Ca je sais
faire avec 3 zones de recherche (une pour le nom, une pour
la ville, une pour le salaire).
Mon objectif serait d’avoir 2 zones à remplir (une ou
j’indique le champ, plus tard, je le ferai en liste de
choix ; une ou je met mon critere).
Et ca je n’arrive pas a faire.

Dans la source du formulaire j’essaie de m’inspirer de ce
que je sais faire.
SELECT TRG.Noms, TRG.Ville, TRG.Salaire FROM TRG WHERE
TRG.Ville=[Forms]![FRTest]![MonCritere];
Ou l’on recherche les villes correspondants au critere
indique dans mon formulaire.


Je voudrais ecrire quelque chose du genre :
SELECT TRG.Noms, TRG.Ville, TRG.Salaire FROM TRG WHERE
TRG. " & [Forms]![FRTest]![MonChamp] & "=[Forms]![FRTest]!
[MonCritere];
Ou l’on recherche sur le champ indique dans mon
formulaire, les enregistrements qui correspondent au
critere indique dans le formulaire.
Mais cela ne fonctionne pas.

Quelle est la solution ?

Merci beaucoup

Pierre
Avatar
Pierre Dumas
Ton recordsource peur être modifié comme suit:
Me.RecordSource = "SELECT TRG.Noms, TRG.Ville,
TRG.Salaire FROM TRG WHERE "

& "TRG." & Me.Monchamp & " = " & "'" & Me.Moncritere
& "'"


Excuse-moi, mais cela se met ou un recordsource.

Je sais juste aller dans le mode creation du formulaire,
puis dans les proprietes, puis dans source et modifier le
code SQL.

J'ai essaye de mettre ton code a cet endroit, mais cela ne
fonctionne pas.

J'ai adapte en mettant :
SELECT TRG.Noms, TRG.Ville, TRG.Sal FROM TRG WHERE TRG." &
Me.Monchamp & " = " & "'" & Me.Moncritere & "';
mais il indique un operateur manquant.

Merci de m'indiquer ou je plante.

Cordialement.

Pierre

Avatar
Raymond
RE.

faut pas adapter, faut le mettre tel quel dans le code vba.
recordsource = source

Comme tu l'as dit tu sélectionnes ou composes deux champs. soit sur
l'événement AfterUpdate du deuxième champ soit sur l'événement click d'un
bouton tu places le code vba:
Private Sub Commande0_Click()
Me.RecordSource = "SELECT TRG.Noms, TRG.Ville, TRG.Salaire FROM TRG WHERE "
& "TRG." & Me.Monchamp & " = " & "'" & Me.Moncritere & "'"
End Sub
vérifier s'il ne faut pas mettre un me.requery après pour réactualiser le
formulaire.

Si tu n'avances pas, passe moi ta base par mail.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Pierre Dumas" a écrit dans le message de
news:0ad601c37c3e$1dca0020$
Ton recordsource peur être modifié comme suit:
Me.RecordSource = "SELECT TRG.Noms, TRG.Ville,
TRG.Salaire FROM TRG WHERE "

& "TRG." & Me.Monchamp & " = " & "'" & Me.Moncritere
& "'"


Excuse-moi, mais cela se met ou un recordsource.

Je sais juste aller dans le mode creation du formulaire,
puis dans les proprietes, puis dans source et modifier le
code SQL.

J'ai essaye de mettre ton code a cet endroit, mais cela ne
fonctionne pas.

J'ai adapte en mettant :
SELECT TRG.Noms, TRG.Ville, TRG.Sal FROM TRG WHERE TRG." &
Me.Monchamp & " = " & "'" & Me.Moncritere & "';
mais il indique un operateur manquant.

Merci de m'indiquer ou je plante.

Cordialement.

Pierre

Avatar
Pierre Dumas
faut pas adapter, faut le mettre tel quel dans le code
vba.

recordsource = source


S-U-P-E-R

Nickel. C'est juste ce que je cherchais.
Je pensai naivement qu'il fallait le mettre dans le source
du formulaire.

Merci encore.

Pierre (qui n'a plus qu'a enjoliver tout ca)