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 :

Recherche par champs [AC-2003]


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Recherche par champs
    Bonjour,

    Niveau Débutant

    Je souhaite créer une base de documents et pour la recherche de ceux-ci j'ai créé une zone de texte "TxtRechercheRecours" et une zone de liste déroulante "ListeResultRecours" qui se référence à une table à deux colonnes avec en F2 le noms des documents et en F1 le hyperliens.

    Sur la zone de texte j'ai mis une procédure évenementielle sur changement avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub TxtRechercheRecours_Change()
      Dim QRY As String
        QRY = "SELECT  * FROM RecoursBasesFondements " _
             & "WHERE Nom Like '" & TxtRechercheRecours.Text & "*';"
     
        If Len(TxtRechercheRecours.Text) > 0 Then
            Me.ListeResultRecours.RowSource = QRY
        Else
            Me.ListeResultRecours.RowSource = ""
        End If
    End Sub
    Mais cela ne relève rien dans la zone de liste déroulante et je n'en comprend pas le pourquoi...

    D'avance merci à vous!

  2. #2
    Expert éminent

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

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

    Et avec une actualisation Me.Requery à la fin du code, est-ce que ça ne marche pas?

    Cordialement,

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Testé avec Me.requery :

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub TxtRechercheRecours_Change()
      Dim QRY As String
        QRY = "SELECT * FROM RecoursBasesFondements " _
             & "WHERE Nom Like '" & TxtRechercheRecours.Text & "*';"
     
        If Len(TxtRechercheRecours.Text) > 0 Then
            Me.ListeResultRecours.RowSource = QRY
        Else
            Me.ListeResultRecours.RowSource = ""
        End If
    Me.Requery
    End Sub
    Nop... Marche pas...

  4. #4
    Expert éminent

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

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

    Peut-être que je n'ai pas compris ce que tu veux faire parce que ton code marche correctement essayé sur la petite base ci-jointe (j'ai rajouter un dropdown et un setfocus qui sont là pour pousser un peu le code).
    Peux-tu reexpliquer s'il te plait exactement ce que tu veux comme résultat?

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Merci à toi,

    Effectivement ton formulaire marche parfaitement et il possède la même architecture que le miens mais je pense que cela vient du fait que ma table "RecoursBasesFondements" est lié à un tableur excel et le format du champs est bien en texte mais avec un "@" qui n'est pas modifiable sur une table lié. Cela semble-t-il sensé?

    Par contre si c'est ou m^me ce n'est pas l'originie du problème, je ne vois pas comment le résoudre..

    En tout cas merci de ton aide.

  6. #6
    Expert éminent

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Re-,

    Je ne comprends pas. Le fait que ça soit une table liée à partir d'un fichier Excel ne devrait pas poser de problèmes.
    Je viens d'essayer et ça marche.
    Mais qu'est-ce que tu entends par "@" ? Tu veux dire que les champs comportent de tels caractères? ou ce sont les noms de champs?

    @+

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Je comprend absolument pas pourquoi cela ne fonctionne pas.. Gros quid donc je te joins mon fichier et je te remercie grandement de l'aide que tu m'as déjà apporté!

    Pour l' @ celui-ci se situe dans la table sous le format mais je me dis qu'il y a peut être un lien avec la complexité des noms dans le champs concerné par la recherche...

    Recherche.zip

  8. #8
    Expert éminent

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

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

    Normal si ça ne fonctionne pas si tu n'utilises pas les noms corrects de tes champs de tables

    Dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        QRY = "SELECT * FROM RecoursBasesFondements " _
             & "WHERE Nom Like '" & TxtRechercheRecours.Text & "*';"
    Tu choisis toutes les valeurs dont le champ Nom = au début de TxtRechercheRecours.Text. Or les noms de tes champs sont F2 et F1.
    Il faudrait mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        QRY = "SELECT * FROM RecoursBasesFondements " _
             & "WHERE F2 Like '" & TxtRechercheRecours.Text & "*';"
    si F2 contient effectivement les noms.

    Bonne continuation

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Merci beaucoup!
    Parfois les yeux ne suivent plus et celle là m'est passé inaperçu!

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

Discussions similaires

  1. Recherche par nom dans un champ (Formulaire)
    Par info.syndi dans le forum Access
    Réponses: 3
    Dernier message: 09/04/2014, 17h04
  2. comment rechercher par 2 champs par requete sql?
    Par salimo79 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 26/03/2011, 09h21
  3. Réponses: 9
    Dernier message: 03/08/2007, 15h13
  4. recherche de champs commencant par
    Par joe370 dans le forum VBA Access
    Réponses: 5
    Dernier message: 12/06/2007, 10h37
  5. Recherche par une partie du champ
    Par safadev dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/10/2005, 14h20

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