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

VBA Access Discussion :

recherche à partir d'un mot dans un texte et retour à la fiche de départ


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Points : 13
    Points
    13
    Par défaut recherche à partir d'un mot dans un texte et retour à la fiche de départ
    Bonjour à tous
    J'ai une appli Access de type "dictionnaire Mythologie'" Chaque record de la table comporte un champ texte. Dans ces textes, on trouve très souvent des mots qui sont, eux mêmes, des entrées dans la table (autres records) Je voudrais pouvoir fabriquer un "lien" automatique. Je sélectionne un mot dans le champ texte du formulaire (surbrillance par exemple), et un bouton commande m'ouvre le record (s'il existe !) de la même table mais dont la clé=le mot sélectionné
    Exemple: Dans le champ texte, fiche "Dupont", je lis un truc comme " kjkj goispps kk jnbnzneee gsfg durand gdrriizososo " Après avoir mis en surbrillance (pour éviter un copié-colle) le mot "Durand" , le bouton commande m'ouvre la fiche "Durand" (si elle existe)
    Est-ce possible ?
    Un grand merci pour vos lumières. Moi je n'ai pas trouvé la solution pour "repérer" le mot sélectionné dans le champ texte.

    Autre et dernière chose (plus simple ?) : je voudrais sur mon formulaire un bouton qui me fait revenir à la fiche lue juste précédemment. Et ça non plus jen'y arrive pas.

    Merci d'avance.
    Cordialement
    Roland

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Pour aboutir à ta demande, il te faut user d'un contrôle RichTextBox.
    Ce contrôle prendra comme ControlSource, le source de contrôle initiale du champ d'origine qui contient les textes en question.
    De là, tu peux sélectionner un mot entier ou une partie de ce dernier dans la zone de texte et appuyer sur un bouton pour ouvrir un autre formulaire qui contiendra les occurences correspondantes...
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private Sub cmdSearchThisWord_Click()
    Dim strWordSelected           As String
    Dim strWhereCondition         As String
    Dim oRTextbox                 As RichTextBox
     
        Set oRTextbox = Me.rtbDescription.Object
        With oRTextbox
            strWordSelected = Trim$(.SelText)
        End With
        If MsgBox("Chercher la correspondance avec le mot : " & strWordSelected & " ?", vbQuestion + vbYesNo) = vbYes Then
            If MsgBox("Cliquez sur Oui si cette occurence est exacte ou sur Non si elle est approchée...", vbQuestion + vbYesNo) = vbYes Then
                ''' On a sélectionné le mot entier
                strWhereCondition = "[Mots]='" & strWordSelected & "'"
            Else
                ''' On a sélectionné une partie du mot
                strWhereCondition = "[Mots] LIKE '*" & strWordSelected & "*'"
            End If
            DoCmd.OpenForm "frmLignesCorrespondantes", , , strWhereCondition, , acDialog
        End If
        Set oRTextbox = Nothing
    End Sub
    Dans cet exemple, mon bouton se nomme cmdSearchThisWord, mon formulaire contenant les lignes à faire correspondre se nomme frmLignesCorrespondantes et le nom du champ en regard, Mots.

    Argy

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Points : 13
    Points
    13
    Par défaut merciiiiiii
    merci de la rapidité! Je vais essayer avec cette réponse et je te dis tout très bientôt
    Roland

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Points : 13
    Points
    13
    Par défaut sorry...
    désolé mais ça ne marche pas Il me dit "type non défini" à propos de la ligne richtextebox Si tu veux (et peux), je t'envoie ma base par e-mail Roland

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Points : 13
    Points
    13
    Par défaut suite et pas fin..
    j'ai aussi essayé un évènement "double click" pour récupérer ma sélection avec Seltexte. Mais ça ne marche pas vraiment. Je l'avais fait marcher, il y a de ça quelque temps. Mais je ne me souviens plus comment. Là, maintenant, je ne sais plus s'il faut ou pas maintenir la touche Ctrl. Je voulais juste essayer d'afficher dans un MsgBox, après mon évènement double click, le mot sélectionné Après ça, il me restait à aller ouvrir la fiche correspondante puis à revenir à la fiche de départ, par une autre bouton commande (presque rien... rires ! )
    Roland

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Il te faut poser une zone de l'objet RichTextBox au même titre que tu dessines un champ texte.
    Il n'est pas évidement que tu en disposes sur ton PC.
    C'est un OCX additionnel qui ne fait pas partie d'Office.
    Il faut soit le télécharger quel part, soit installer VB6 sur ton poste.
    C'est la propriété SelText qui régit le mot sélectionné dans une zone de texte.
    Le contrôle RTBox te permet la mise en forme colorée au sein du contenu.

    Argy

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Points : 13
    Points
    13
    Par défaut pour ma sélection de caractères..
    Merci encore. C'est super gentil mais.. ça dépasse mon niveau de compréhension. Franchement.

    Sinon, saurais-tu me dire comment, exactement, récupérer dans un Msgbox par exemple des caractères sélectionnés dans mon champ texte ? Avec ça, déjà, je pourrai avancer un peu plus.
    Merci d'avance
    Roland

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonsoir,
    lors d'un précédent post j'avais bricolé un test, je ne l'ai pas posté car je croyais que ton problème était réglé.
    si ça peut t'aider ci-joint la base sur laquelle j'avais fait des tests.

  9. #9
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    Bonjour à tous,

    lecrol - j'avais pas vu que tu voulais retourner là où tu étais - nouveau ?
    alors un bouton de plus.

Discussions similaires

  1. Recherche de mots dans un texte
    Par Shargat dans le forum Windows Forms
    Réponses: 3
    Dernier message: 20/04/2009, 13h18
  2. Recherche des mots dans un texte
    Par psyrio dans le forum Langage
    Réponses: 1
    Dernier message: 27/02/2009, 12h15
  3. Excel : Recherche d'un mot dans un texte
    Par Two_No dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/05/2007, 10h02
  4. [RegEx] Recherche de mots dans un texte
    Par Dirty Harry dans le forum Langage
    Réponses: 3
    Dernier message: 15/01/2007, 17h29
  5. Rechercher un mot dans un texte
    Par BernardT dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/12/2005, 08h55

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