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 :

Formulaire de recherche zone de texte mutlicritères


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    logisticienne
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : logisticienne
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Formulaire de recherche zone de texte mutlicritères
    Bonjour à tous,

    Je suis en train de créer un formulaire de recherche sur une requête comprenant 170 000 records. J'ai créé des zones de texte pour filtrer les champs de la requête. Ensuite j'ai lié ces zones avec la requête grâce à la formule:
    Forms![Recherche article query]![ITM_NUM_Label]
    dans le champ critère de la requête.

    Jusque là pas de problème: lorsque je rentre une référence article j'obtiens la ligne de l'article avec ses détails dans la requête (en visu feuille de données).

    La question est: si je souhaite mettre dans ma zone de texte une liste de référence (une dizaine) comme je procède?
    J'ai essayé de le faire avec une virgule entre les références ou mettre AND ou mettre In ([Forms]![Recherche article query]![ITM_NUM_Label])
    mais lorsque je lance la recherche aucun résultat ne s'affiche.

    Pour info je ne maîtrise pas le VBA.

    Merci de votre aide!!

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour et bienvenue parmi nous.

    Vois ici un exemple.

    N'hésite pas à revenir, si tu n'y trouves pas la solution à ton cas.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    logisticienne
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : logisticienne
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci de votre réponse.
    Hélas j'ai déjà regardé tout les tutos et discussions du site par essayer de résoudre mon problème mais sans sucès.
    Pouvez vous m'aider?
    Je souhaiterais pouvoir mettre plusieurs valeurs dans la zone de texte (idéalement séparées par une virgule).
    Actuellement cela ne me retourne aucun résultat lorsque j'essaye.
    Peut être cela vient-il de la formule que j'utilise pour lier la zone de texte à la requête: Like [Forms]![Recherche article]![Text0]

    Merci de votre aide

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Peux-tu poster le zip d'une db compatible Access2000 (.mdb) avec des données et expliquer un exemple concret de ce que tu veux faire.

    Ce sera plus facile pour communiquer.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    logisticienne
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : logisticienne
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Désolé je ne peux pas poster ma database c'est pour le travail.
    Concrètement j'ai plusieurs tables qui donnent des infos sur les articles (référence, nom, poids, rotation, dimensions, ect...) j'ai créé une requête pour regrouper toutes ces infos ensemble.
    Cette requête rapporte 170 000 réponses. Afin de faciliter la recherche j'ai créer un formulaire avec des zones de textes pour pouvoir rechercher par référence ou nom article, ect....
    Le problème est que je ne peux mettre qu'une seule référence article dans ma zone de texte dans le formulaire. Donc je ne peux rechercher que les articles un par un. C'est à dire que je ne peux pas rechercher l'article 92 ET 66 ET 43.
    Je souhaiterais pouvoir mettre dans ma zone de texte 92;66;43 et que la requête m'affichent 3 lignes correspondantes aux 3 références articles.
    Est ce que c'est plus clair?

    Merci de votre aide

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Je crois que la solution est à trouver du côté de la construction d’une requête sur l’événement Après mise à jour du contrôle qui contient la liste des valeurs, mais il faut voir comment l’intégrer.
    Je voudrais d’abord tester sur des données concrètes avant de te proposer une solution.
    Je n’ai pas besoin de toute ta db mais seulement quelques données constituant un jeu de tests.

    Peux-tu créer une db (.mdb) avec
    - une table de quelques lignes et qui contient les colonnes sur lesquelles portent les recherches ;
    - ton formulaire de recherche.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    logisticienne
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : logisticienne
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    J'ai fait un exemple comme vous me l'avez demandé mais ma database est en format .accdb car je suis en access 2010. Je n'arrive pas à la mettre en .mdb
    Comment je fais?

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    logisticienne
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : logisticienne
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Et voilà!

    Ce que je souhaiterai c'est que dans la zone de texte du formulaire je puisse noter une liste d'article à rechercher.
    Dans l'exemple ci-joint:
    dans la zone de texte du form1 mettre: 5899;7878;1463
    puis lancer la recherche.

    Merci de votre aide
    Fichiers attachés Fichiers attachés

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Dans ta db, j'ai modifié :
    - la Query1 : pas de référence au formulaire
    - dans le formulaire le nom des contrôles => txtRef et btRun.

    Voici le code associé au clic sur le bouton btRun :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Private Sub btRun_Click()
      Dim sSql As String
      Dim q As QueryDef
      Dim whr As String
      Dim Arr() As String
      Dim i As Integer
      Set q = CurrentDb.QueryDefs("Query1")
      'Sql de base (on sélectionne tout)
      sSql = "SELECT articles.Ref, articles.nom, articles.rotation, articles.morphologie, " _
                   & "prélèvement.[Qte jour], prélèvement.[Qte mois], " _
                   & "dimensions.Poids, dimensions.Hauteur, dimensions.largeur, dimensions.longueur " _
               & "FROM (articles INNER JOIN prélèvement ON articles.ID = prélèvement.ID) " _
               & "INNER JOIN dimensions ON articles.ID = dimensions.ID;"
      'Si le champ txtRef est resté vide, le sql est OK, on ouvre la requête et on sort
      If Me.txtRef = "*" Or IsNull(Me.txtRef) Then
          q.SQL = sSql
          GoTo Sortir
      End If
      'Sinon, on va construire une clause Where pour limiter aux Ref énumérées
        'on isole les Ref dans les cellules du tableau
        Arr = Split(Me.txtRef, ";")
        'on construit la clause Where
        whr = " Where "
        For i = 0 To UBound(Arr)
          'N.B. If Len(Arr(i)) <> 0 pour éviter le dernier (blanc)
          '    si l'utilisateur a terminé la sélection par un point-virgule
          If Len(Arr(i)) <> 0 Then whr = whr & " articles.Ref=" & Arr(i) & " or "
        Next i
        'on supprime le dernier " or "
        whr = Left(whr, Len(whr) - 4)
        'on ajuste le sql : on supprime le point-virgule original et on en place un autre à la fin
        sSql = Left(sSql, Len(sSql) - 1) & whr & ";"
        'on modifie la requête Query1 avant de l'ouvrir
        q.SQL = sSql
     
    Sortir:
      DoCmd.OpenQuery "Query1"
      Set q = Nothing
     
    End Sub
    Fichiers attachés Fichiers attachés
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/01/2008, 14h39
  2. Réponses: 2
    Dernier message: 29/05/2007, 14h28
  3. Réponses: 3
    Dernier message: 20/04/2007, 11h20
  4. [Formulaire]validation données zone de texte
    Par Lex O'Mil dans le forum IHM
    Réponses: 5
    Dernier message: 24/03/2007, 12h51
  5. [Formulaire] Calcul dans zone de texte
    Par Thomzz dans le forum IHM
    Réponses: 8
    Dernier message: 30/06/2006, 10h39

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