IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Créer un formulaire de recherche dans plusieurs champs d'une même table [AC-2007]


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Créer un formulaire de recherche dans plusieurs champs d'une même table
    Bonjour,

    Je souhaite :
    - Trouver un moyen de rechercher des enregistrements d'une table à partir d'un ou plusieurs mots, en interrogeant tous les champs
    - Faire en sorte que le résultat s'affiche sous forme de table
    - Pouvoir effectuer cette recherche à partir d'un formulaire

    Pour info :
    - Il s'agit d'une table contenant une liste de livre avec des champs de type : auteur / titre / sous-titre / mots-clés etc.
    - Projet gestion de bibliothèque privée sans prêt de livre

    Vous remerciant par avance de votre aide,

    HG

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    L'interface de recherche utilisé est souvent un formulaire. Tu peux utiliser un formulaire sous forme "tabulaire" pour avoir la liste de tes enregistrements.
    Comment faire :
    1- Tu crées un formulaire "tabulaire" basé sur les champs "nécessaires" de ta table.
    2- Tu y ajoutes une zone de texte indépendante qui va recevoir le mot à rechercher disons txtMotCle.
    3- Tu utilises la propriété Filter de ton formulaire pour trouver les enregistrements correspondants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    'Module de recherche
    Private Sub TrouverValeur()
    Dim StrFiltre as String
    StrFiltre = "[auteur] LIKE '*" & Me.txtMotCle & "*' OR [titre] LIKE '*" & Me.txtMotCle & "*' OR [sous-titre] LIKE '*" & Me.txtMotCle & "*' OR [mots-clés] LIKE '*" & Me.txtMotCle & "'"
    Me.Filter = StrFiltre
    End Sub
    Tu appelles ce module sur les évènements SurClick d'un bouton de commande ou AprèsMiseAJour de ta zone de texte.

    Si tu veux en savoir plus, tu as plusieurs tutos sur les formulaires de recherche ICI

    Cordialement,

    PS : Il faut prévoir un bouton pour annuler le filtre de ton formulaire.
    EDIT : Merci AccessisGood pour l'utilisation correcte du joker "*" dans les critères=> LIKE au lieu des égalités.. Je corrige mon code.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour

    il y a plusieurs techniques, par exemple, après saisi du critere de recherche tu places ce code pour filtrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub prmRecherche_AfterUpdate()
    If IsNull(prmRecherche) Then
        Me.Livres_List.Form.Filter = ""
    Else
        Me.Livres_List.Form.Filter = "[Auteur] like '*" & Me.prmRecherche & "*' OR [Titre] like '*" & Me.prmRecherche & "*' OR [SousTitre] like '*" & Me.prmRecherche & "*' OR  [Motsclef] like '*" & Me.prmRecherche & "*'"
        Me.Livres_List.Form.FilterOn = True
    End If
    End Sub
    ci joint exemple
    Recherche.zip

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonsoir et merci à vous deux pour ces précieux conseils.
    Je n'ai pas pu travailler à ce projet avant aujourd'hui, du coup j'ai attendu pour vous répondre d'avoir travaillé un peu. Et vraiment merci.
    Dans l'exemple de madefemere j'ai fait un formulaire Livres-List qui regroupe l'ensemble des livres et un autre Recherche dans lequel j'ai inséré un sous formulaire avec ma liste de livres qui apparait. Il me reste donc de pouvoir taper les mots clés dans la zone de texte créée pour rechercher mes livres. Malheureusement je n'ai pas encore trouvé comment insérer la zone de recherche pour qu'elle fonctionne, pour l'instant je l'ai créée mais je ne peux pas entrer de mots clés. Impossible de cliquer dedans. Je l'ai nommé comme dans l'exemple prmRecherche. Je vais maintenant travailler sur ce point. Je peux envoyer le fichier si ça peut aider.
    Toujours est-il que le projet a bien avancer. Encore merci.
    Je vais encore y travailler.

    HG

  5. #5
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci de ne pas tenir compte du message précedent. Il suffisait de passer en mode formulaire et cela marche à merveille.
    Je vais retravailler sur ce projet et je reviendrai avec quelques questions !
    Merci encore pour votre aide, pour l'heure c'est joliment résolu.
    PS Je vais essayer de marquer résolu mais je ne suis pas certaine de savoir le faire. Désolée et je vais essayer de trouver.
    HG

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/06/2014, 14h34
  2. [MySQL] modifier le début de deux champs dans plusieurs enregistrements d'une même table
    Par corbin dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/04/2011, 09h40
  3. Réponses: 9
    Dernier message: 28/08/2007, 10h38
  4. Plusieurs Champs d'une même table dans plusieurs textebox
    Par cyberbiker dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 13/09/2006, 11h32
  5. [SQL Server] rechercher dans plusieurs champs d'une table
    Par houla! dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/08/2006, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo