CHAMPS DE RECHERCHE ACCESS

Fermé
Signaler
-
 BLONDAWWW -
Bonjour,

JE VOUDRAIT CREER UN CHAMPS DE RECHERCHE DANS UN FORMULAIRE LIER A UN CHAMPS DE TABLE DE SORTE QUE QUAND SUR MON FORMULAIRE JE TAPE TOUT OU UNE PARTIE DU MOT ET QUE JE CLIQUE SUR MON BOUTON RECHERCHER SA ME FILTRE LA RECHERCHE

MERCI

23 réponses

Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
Bonsoir,

Tu devrais commencer par rechercher dans les réponses du forum: ces questions sont fréquentes...

Pour extraire une partie d'un champ: "*"&TexteRecherché&"*"

A écrire dans le critère de tri d'une requête.
0
bonjour,

merci de m'avoir répondu mais je ne comprend pas le critere de tri d'une requette..

je dois faire un champs lier à une requette, requette qui contient juste la ligne ou il y'a tout mes clients par exemple et ensuite j'inclus cette requette dans mon formulaire et dès que je tape une lettre ou une partie du mot sa va chercher dans le truc???
0
merci mais j'ai trouver la commande boutton chercher un enregistrement sa me convien bien si ce n'est que j'aurais voulu modifier les option par default de cette recherche c'est possible?

a oui autre chose svp chaque fois que j'ouvre mon formulaire il choisi l'endroit ou je peut taper directement quelque chose c'est a dire il met automatiquement en surbrillance un champs est ce que je peut changer ça?

merci beaucoup
0
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
bin, par définition, une requête ça sert justement à extraire les données.

Ca risque d'être difficile de t'expliquer si tu ne comprends pas ce que c'est ni ce que c'est qu'un critère de recherche...

Dans ta fenêtre base de données, clique sur créer une requête et suis les propositions de l'assistant: choix de la ou des tables où se situent les données que tu veux rechercher et clique à la fin sur "modifier la requête.

Là tu vois la liste des champs que tu as sélectionné et dans la ligne critère, tu indiques ce que tu recherches.

Bon, l'idée c'est évidemment de le faire plus proprement en entrant ce que tu cherches dans un champ et en exécutant automatiquement la requête dans un formulaire bien propre...

Mais commence par nous dire si tu comprends jusque là.
0
oui oui je comprend, je sui pas trop newbee dans le domaine mais pas un pro nomplu. l'idée c'est de rentrer une lettre ou une serie de lettre dans un champs de mon formulaire et de déclencher un evenement sur un "clique" ou "entréé" pour dire d'executer une requette c'est ça?
0
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
Bon,

pour ma part, je fonctionne en deux étapes: un champ texte où j'entre les caractères recherchés, une liste déroulante qui trie les enregistrements et, sur clic dans la liste, le tri du formulaire.

La liste déroulante peut être faite avec l'assistant en sélectionnant la troisième option de la première boite de dialogue.

Dans les critères de cette requête, il suffit alors de mettre dans la colonne à filtrer: "comme NomDuChampTexte&"*" " (en mettant évidemment le vrai nom de ce dernier...)

Enfin, Après MAJ, dans le champ texte, tu mets "ZoneDeListe.Requery" (sans les guillements)
0
DSL JE N4ARRIVE PAS A LE METTRE EN OEUVRE J'ai creer une zone texte indépendante une zone de liste deroulante ou j'ai choisi via l'assistant la liste de ma requette ou il y'a mes nom d'enseignes.
dans la requette j'ai mis "comme NomDuChampTexte&"*" " (en mettant évidemment le vrai nom de ce dernier...) .sa marche pas j'ai mis "*"&TexteRecherché&"*" 'en mettant a la place de texte recherche le nom de la zone texte" sa me reconnai ma zone texte (texte40) enfin je quppose que sa me reconnai ma zone de texte parce que sa me remais en forme correctement mon ecriture dans critere de la requette et enfin j'ai mis en VBA
Après MAJ, dans le champ texte, tu mets "ZoneDeListe.Requery" (sans les guillements) mais sa marche pas donc j'ai mis MODIFIABLE64 (nom de ma zone de liste deroulante et sa me la reconnu en le mettant en forme.

mais quand je tape un truc dans ma zone de texte rien ne se passe meme quand je tappe un truc dans ma liste deroulante rien ne se pasee nomplu

help me please lol
0
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
Comme ça c'est difficile d'imaginer pourquoi ça ne marche pas parce que en principe ça marche...

Il faut évidemment que les noms de tes champs et listes soient ceux que tu utilises vraiement (je ne peux pas te les proposer puisque je ne les connais pas.

Est-ce que tu cherches à filtrer un formulaire au moyen de ta liste déroulante?
Si oui, est-ce que cette étape là fonctionne?

Pour la zone de texte, ce n'est qu'une proposition. Je vois que tu as choisi plutôt une liste modifiable qu'une zone de liste. Tu peux donc te passer de cette étape...
Moi, je n'aime pas parce que j'ai besoin de concaténer différents champs et une liste modifiable n'est pas aussi souple.

Enfin, si on choisit de mettre à jour la liste AprèsMAJ, il faut sortir du champ texte pour que la commande soit effectuée (par exemple en tapant TAB ou ENTER
0
ok alors je récapitule

j'ai une zone de texte qui est "texte48" sur lequel j'ai mis un événement sur la entrée en vba "Liste50.Requery"
ensuyite j'ai creer une zone de liste "liste50" ou j'ai choisie la requette que j'ai creer avec les nom d'enseigne.
dans la requette j'ai mis exactement: Comme "*" & "liste50" & "*" et quand je regarde la requette y'az plus rien de deans (normal y'a rien d'écrit en "liste50" non?.

mais quand je tape un truc dans la zone texte "texte48" genre REST pour RESTAURANT et ENTREE rien ne se passe. normalement il devrait mettre REST dans "liste50" non?
0
ou dumoin il devrait filtrer et afficher tous ce qui est REST? et restera le tri du formulaire que je ne c pas faire

merci zenon de prendre du temps pour moi
0
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
OK, je comprends:

Dans le critère, il faut mettre: comme [Texte48]&"*"

En fait, si tu mets les " " Access pense que c'est le texte à rechercher.
Il faut demander à la requête de rechercher ce qui se trouve dans le champ texte et pas ce qu'il y a dans liste.

Pour désigner un champ il faut mettre des [] (access peut le faire lui même s'il n'y a pas d'espaces ni de caractères spéciaux dans les noms des champs).
0
NIKEL!!!!!!!!!!! SA FONCTIONNE ENFIN

MERCI ET MAINTENANT COMMENT FAIRE LE TRI DU FORMULAIRE??? POUR QUE QUAND JE DOUBLE CLIQUE SUR LE BON CLIENT DANS LA ZONE DE LISTE SA M'AFFICHE LE FORMULAIRE DU CLIENT??
0
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
Le plus simple est de créer la zone de liste avec l'assistant en choisissant dans la première boite de dialogue la troisième option: "rechercher un enregistrement" (ou qqch cô ça)

Alors, la procédure est automatique.

Sinon, dans la feuille des propriétés de ta liste, sous l'onglet événement, sur clic, choisis procédure événementielle et tape entre Sub et EndSub:

Dim rs As Object

Set rs = Me.Recordset.Clone
rs.FindFirst "[La clé de ton formulaire] = " & Str(Me![Le nom de ta liste])
Me.Bookmark = rs.Bookmark
0
bonjour

comment la clé de mon formulaire?
je veut faire une recherche par enseigne alors que la cle principale du formulaire c'est un n°client enfin je pense vue que j'ai choisi ce champs pour filtrer automatiquement mes sous formulaire mes sous formulaire
0
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
Tu dis: MAINTENANT COMMENT FAIRE LE TRI DU FORMULAIRE??? POUR QUE QUAND JE DOUBLE CLIQUE SUR LE BON CLIENT DANS LA ZONE DE LISTE SA M'AFFICHE LE FORMULAIRE DU CLIENT??
alors, je comprends que tu recherches les clients et, évidemment, je pense que ton formulaire contient les données des clients. Pour les filtrer le mieux est d'utiliser la clé primaire...

Qu'entends-tu par "rechercher par enseigne"?

De toute manière le principe est le même: quoi que tu veuilles trier, la liste de choix sélectionne une valeur et peut rechercher la valeur correspondante dans le formulaire, il suffit de lui indiquer laquelle.
0
BONJOUR,

J'AI MIS DONC:

Private Sub Liste50_DblClick(Cancel As Integer)
Dim rs As Object

Set rs = Me.Recordset.Clone
rs.FindFirst "[ENSEIGNE] = "& Str(Me![Liste50])"

Me.Bookmark = rs.Bookmark
End Sub

DONC SUR DOUBLE CLICK MAIS RIEN NE SE PASSE QUAND J'APPUIE DESSUS JCOMPREND PAS
0
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
A première vue, je vois des " en trop, sinon, je ne sais pas...

Au fait sur double clic que sur clic?

Le champ [Enseigne] existe dans ton formulaire?
0
merci de me repondre

oui il existe le champs enseigne mais on dirait qu'il ne le reconnait pas c bizar
0
j'ai essayé dans un autre formulaire

Private Sub Liste75_DblClick(Cancel As Integer)
Dim rs As Object

Set rs = Me.Recordset.Clone
rs.FindFirst "[n°serie] = " & Str(Me![Liste75])
Me.Bookmark = rs.Bookmark
End Sub

mais il me dit debogage et affiche une surbrillance jaune sur la ligne

rs.FindFirst "[n°serie] = " & Str(Me![Liste75])

mais n°serie existe aussi dans mon formulaire
0
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
Désolé, je ne vois pas...

Essaie de recréer une zone de liste avec l'assistant pour voir...
0