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

 

  1. #21
    Expert confirmé
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    3 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 3 021
    Points : 5 198
    Points
    5 198

    Par défaut

    J'ai désactivé ce mode, maintenant le champ est à nouveau "zone de texte" et malgré ça le script ne fonctionne pas avec 2 ou plusieurs choix
    ce n'est pas grave, il y a certainement une raison, maintenant que l'on a écarté le problème multi-valué il suffit de trouver laquelle.

    1) actuellement, comment sont alimentés les différentes valeurs du champ ?
    2) est-ce que le champ [Products] est basé sur le contenu de la table Products_table ?
    3) quels sont les champs de la table Products_table ?

  2. #22
    Expert confirmé
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    3 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 3 021
    Points : 5 198
    Points
    5 198

    Par défaut

    j'ai trouvé l'erreur, c'est moi le coupable désolé !
    Voici la partie du code erroné corrigé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        If Me.Check1.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*ABTHERA*' "
        If Me.Check2.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*ABTHERA ADVANCE*' "
        If Me.Check3.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*AWD*' "
        If Me.Check4.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*CELLUTOME*' "
        If Me.Check5.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*FISTULA*' "
        If Me.Check6.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*PREVENA*' "
        If Me.Check7.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*PREVENA SELECT*' "
        If Me.Check8.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*SNAP*' "
        If Me.Check9.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*VAC*' "
        If Me.Check10.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*VERAFLO*' "
        If Me.Check11.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*VERAFLO CLEANSE CHOISE*' "

  3. #23
    Candidat au Club Avatar de maximeAA
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par tee_grandbois Voir le message
    ce n'est pas grave, il y a certainement une raison, maintenant que l'on a écarté le problème multi-valué il suffit de trouver laquelle.

    1) actuellement, comment sont alimentés les différentes valeurs du champ ?
    2) est-ce que le champ [Products] est basé sur le contenu de la table Products_table ?
    3) quels sont les champs de la table Products_table ?

    Bonjour tee_grandbois

    J'espère que tu vas bien aujourd'hui.
    A force de passer les soirée dessus, on va finir par trouver d'où vient le problème
    Pour répondre à tes trois questions :
    1) les valeurs sont alimentés manuellement dans la table (saisie direct dans la table), 3 lignes pour tester le programme

    2) Pour activé le champ en multi-valué, il fallait créer une table qui contenait les valeurs products. Et le champ [Products] basait sur le contenu de cette nouvelle table créee. Mais cela a été fait après que j'ai activé et modifié le champ [Products] en multi-valué, avant cela la table Products_table n'existait pas.

    3) Dans Products_table, il y a juste un seul champ contenant les noms des produits (ABTHERA, ABTHERA ADVANCE, AWD, ...)
    Pour info, cette table n'a aucune valeur après la désactivation de multi-valué.


    Pour ta nouvelle version corrigée, je vais la testé ce soir parce que je n'ai pas mon ordinateur avec moi
    J'ai hâte de voir le résultat

    Bonne journée !

  4. #24
    Expert confirmé
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    3 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 3 021
    Points : 5 198
    Points
    5 198

    Par défaut

    bonjour,
    1) les valeurs sont alimentés manuellement dans la table (saisie direct dans la table), 3 lignes pour tester le programme
    s'agit-il bien de la saisie des valeurs dans le champ Products de la table Produits ?
    à moins que j'ai mal compris, la saisie directe dans une table n'est pas recommandée, il vaut mieux utiliser un formulaire car une faute de frappe n'est pas inévitable.

  5. #25
    Candidat au Club Avatar de maximeAA
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 2
    Points
    2

    Par défaut

    tee_grandbois

    Si, j'ai saisie à la main les noms produits dans le champ [Product] de la table Contacts
    Tu as raison ce n'est pas recommandé pour eviter les erreurs, pour l'instant c'est que 3 lignes que je voulais testé mais il faut que je pense à automatiser l'alimentation de ce champ avec les 11 produits.

  6. #26
    Candidat au Club Avatar de maximeAA
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 2
    Points
    2

    Par défaut

    tee_grandbois,

    En attendant que je teste ton code ce soir, je pense que je vais essayer le champ multi-valué sur une autre version.
    je pense que j'ai trouvé la solution mais hors code VBA en bricolant dans Access, je sais que c'est pas top
    Je vais splité la colonne [Products] en deux colonnes :
    1er : contenant des mono valeur (produit par champ)
    2eme : identique à la colonne initiale, ç.à.d contenant des multi-valué séparés par ";"

    La partie sql SELECT portera sur la colonne [Products] (2eme)
    la partie condition WHERE portera sur la colonne [Products.Value] (1er).

    Je vais tester ce soir aussi.

  7. #27
    Expert confirmé
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    3 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 3 021
    Points : 5 198
    Points
    5 198

    Par défaut

    En attendant que je teste ton code ce soir, je pense que je vais essayer le champ multi-valué sur une autre version.
    en partant du dernier code posté, cela fonctionnera aussi, même si je ne suis pas favorable à son utilisation.

  8. #28
    Candidat au Club Avatar de maximeAA
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par tee_grandbois Voir le message
    j'ai trouvé l'erreur, c'est moi le coupable désolé !
    Voici la partie du code erroné corrigé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        If Me.Check1.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*ABTHERA*' "
        If Me.Check2.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*ABTHERA ADVANCE*' "
        If Me.Check3.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*AWD*' "
        If Me.Check4.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*CELLUTOME*' "
        If Me.Check5.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*FISTULA*' "
        If Me.Check6.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*PREVENA*' "
        If Me.Check7.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*PREVENA SELECT*' "
        If Me.Check8.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*SNAP*' "
        If Me.Check9.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*VAC*' "
        If Me.Check10.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*VERAFLO*' "
        If Me.Check11.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*VERAFLO CLEANSE CHOISE*' "

    Bonsoir tee_grandbois,
    J'ai une mauvaise nouvelle pour toi et pour moi, la version corrigée ne fonctionne pas.
    S'il te plaît jette un coup d’œil, est-ce j'ai bien déployé ton code ?


    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
     
    Private Sub btSearch_Click()
     
        Dim strRowSource As String
        Dim strWhere As String
     
        If Me.Check1.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*ABTHERA*' "
        If Me.Check2.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*ABTHERA ADVANCE*' "
        If Me.Check3.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*AWD*' "
        If Me.Check4.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*CELLUTOME*' "
        If Me.Check5.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*FISTULA*' "
        If Me.Check6.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*PREVENA*' "
        If Me.Check7.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*PREVENA SELECT*' "
        If Me.Check8.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*SNAP*' "
        If Me.Check9.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*VAC*' "
        If Me.Check10.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*VERAFLO*' "
        If Me.Check11.Value Then strWhere = strWhere & IIf(strWhere = "", "", "OR ") & "[Products] LIKE '*VERAFLO CLEANSE CHOISE*' "
     
     
        If (Me.Check1.Value = False And Me.Check2.Value = False And Me.Check3.Value = False And Me.Check4.Value = False And Me.Check5.Value = False And Me.Check6.Value = False And Me.Check7.Value = False And Me.Check8.Value = False And Me.Check9.Value = False And Me.Check10.Value = False And Me.Check11.Value = False) Then
                Reponse = MsgBox("Please select at least one product to search ", vbOKOnly, "Select product")
     
                If Reponse = vbOK Then
                   strRowSource = "SELECT [ID],[LName],[FName],[Surgical_Specialty],[Function],[Country],[Products]" & _
                       "FROM Contacts " & _
                       "ORDER BY [LName]"
                   Me.Liste1.RowSource = strRowSource
                End If
         Else
           strRowSource = "SELECT [ID],[LName],[FName],[Surgical_Specialty],[Function],[Country],[Products] " & _
                          "FROM Contacts " & _
           IIf(strWhere = "", "", " WHERE " & strWhere) & ";"
     
            Me.Liste1.RowSource = strRowSource
            Me.Liste1.RowSource = Me.Liste1.RowSource
         End If
     
    End Sub

  9. #29
    Expert confirmé
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    3 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 3 021
    Points : 5 198
    Points
    5 198

    Par défaut

    quelle version ne fonctionne pas: celle avec ou sans le champ Products multivalué ?
    Peux-tu ajouter Debug.? strRowSource avant l'instruction Me.Liste1.RowSource = strRowSource

  10. #30
    Candidat au Club Avatar de maximeAA
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 2
    Points
    2

    Par défaut

    C'est la version sans le champ Products multivalué qui ne fonctionne pas


    Voici le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Debug.Print strRowSource
    Me.Liste1.RowSource = strRowSource
     
    SELECT [ID],[LName],[FName],[Surgical_Specialty],[Function],[Country],[Products] FROM Contacts  WHERE [Products] LIKE '*AWD*' ;

  11. #31
    Expert confirmé
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    3 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 3 021
    Points : 5 198
    Points
    5 198

    Par défaut

    le code est correct, je ne comprend pas pourquoi cela ne fonctionne pas.
    Peux-tu copier le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [ID],[LName],[FName],[Surgical_Specialty],[Function],[Country],[Products] FROM Contacts  WHERE [Products] LIKE '*AWD*' ;
    dans une nouvelle requête en mode SQL puis l'exécuter pour voir s'il affiche un résultat.
    Ensuite aller en mode création et faire une impression d'écran de la requête ?

  12. #32
    Candidat au Club Avatar de maximeAA
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 2
    Points
    2

    Par défaut

    voici, lorsque je clique sur exécuter, une fenêtre s'ouvre bizarrement
    J'ai mis SELECT * From Contacts ==> cela fonctionne correctement
    Images attachées Images attachées  

  13. #33
    Expert confirmé
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    3 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 3 021
    Points : 5 198
    Points
    5 198

    Par défaut

    cela ne peut pas fonctionner, ce n'est pas la bonne icône, il ne faut pas prendre SQL Direct mais Sélection

  14. #34
    Candidat au Club Avatar de maximeAA
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 2
    Points
    2

    Par défaut

    Je ne comprends pas le message et pourtant la colonne [Products] n'est pas en multivalué. J'ai vérifié c'est en zone texte
    Images attachées Images attachées  

  15. #35
    Candidat au Club Avatar de maximeAA
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 2
    Points
    2

    Par défaut

    Je pense je vais refaire le formulaire juste pour tester, j'ai peur que ce bascule entre zone texte et multivalué et vice versa a bugué le programme

  16. #36
    Expert confirmé
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    3 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 3 021
    Points : 5 198
    Points
    5 198

    Par défaut

    le message indique que c'est un champ multivalué:
    le mieux est de créer un nouveau champ: appelle-le Products_New.
    Enregistre la table.
    Affiche la table en mode données et fait un Copier/Coller de la colonne Products vers Products_New.
    Retourne en mode création pour supprimer Products et renommer Products_New en Products.

  17. #37
    Candidat au Club Avatar de maximeAA
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 2
    Points
    2

    Par défaut

    BINGO !
    Bravo tee_grandbois !!
    Merci beaucoup pour ton aide, ça fonctionne finalement

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. Réponses: 1
    Dernier message: 19/10/2011, 12h13
  3. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  4. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  5. Copier les enregistrements d'une table vers une table d'une autre DB
    Par karinette21 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2008, 21h50

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