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

Requêtes et SQL. Discussion :

critere sur zone de liste ou champs


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 13
    Points : 12
    Points
    12
    Par défaut critere sur zone de liste ou champs
    bonjour a tous,

    voila mon petit souci.

    J'ai une requête simple ou je filtre mes enregistrements par rapport à un champ ou les valeurs peuvent changer.

    le champ contient des valeurs de type texte

    exemple: valeur du champs: "A CEDER" ou "A LOUER" ou "A VENDRE"

    Dans ce cas pas de souci je sais faire.

    là ou cela se complique, c'est quant mon champ contient "A CEDER OU A LOUER ou A VENDRE"

    Comment je dois faire pour prendre une valeur des trois ou deux des trois...

    j'ai tenté l'expérience en remplaçant le champs par une zone de liste, il n'en ressort que la valeur sélectionnée.

    Si quelqu'un a une idéee...

    merci

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 71
    Points
    71
    Par défaut
    Salut!

    Une idée serait:
    1) d'utiliser la fonction split() sur ta chaîne de texte (je crois me souvenir que cette fonction vba renvoie un tableau à 1 colonne et n lignes)
    2) chercher si dans tous les mots retourné par cette fonction il y a le mot CEDER, ou le mot LOUER, ou le mot CEDER et LOUER, ...etc
    3) en fonction du résultat ben tu fais ce que tu veux

    Je pense qu'il y a d'autres solutions aussi, je cherche!

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 71
    Points
    71
    Par défaut
    Il y a encore plus simple:

    utilise la fonction Like (Comme en francais) dans des requêtes:
    - TonChampTexte Like "*" & "CEDER" & "*"
    - TonChampTexte Like "*" & "CEDER" & "*" & "LOUER" & "*"
    - TonChampTexte Like "*" & "CEDER" & "*" & "LOUER" & "*" & "VENDRE" & "*"
    - TonChampTexte Like "*" & "CEDER" & "*" & "VENDRE" & "*"
    - ...etc

    le problème c'est qu'il faut prendre en compte toutes les situations possibles, c'est un peu laborieux!

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour salfati et Cinesra,

    Je me permets d'intégrer ce fil car, si j'ai bien compris, je pense qu'il y a un problème de conception, à la base.

    Les notions "A CEDER", "A LOUER" et "A VENDRE" sont des caractéristiques d'un logement et, de plus, peuvent se combiner : il ne faut donc pas un seul champ texte qui les contiendrait, ainsi que toutes les combinaisons possibles (sans compter les erreurs de saisie du style "A VENDE" ou autre).

    Je te suggère, dans ta table de base, de créer 3 champs :
    • a_ceder de type "Oui/Non" ;
    • a_louer de type "Oui/Non" ;
    • a_vendre de type "Oui/Non".
    qui se traduiraient en cases à cocher sur le formulaire de saisie.

    Ensuite, les requêtes peuvent traiter toutes combinaisons possibles dans la clause WHERE.

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 13
    Points : 12
    Points
    12
    Par défaut critere sur zone de liste ou champs
    je suis d'accord avec cinesra et toi richard.
    j'ai déjà essayé les deux solutions mais...

    Pour les options cases à cochées, si une valeur est non (0), les enregistrements contenant des valeurs oui (-1) ne remonte pas du fait que dans ma clause where je demande tout les enregistrement à -1

    De plus, c'est un peu plus compliqué dans le sens ou je dois avoir aussi la notion "indifférent" qui me donne une 3eme condition.
    j'ai testé la case à cochée en triple état (null,0 ou -1) c'est pas mal mais je n'ai pas le résultat escompté.

    En fait je reformule ma question en essayant d'être plus clair (pas toujours facile avec access et vba)

    J'ai un formulaire "client" avec des cases options et champs textes
    j'ai un formulaire "biens" avec des cases options et champs textes identique au formulaire "clients"

    Ce que je recherche à faire, c'est une recherche de clients par rapport aux options du formulaire "biens" et une recherche de biens par rapport aux options du formulaire "clients"

    1 exemple:
    1 client recherche 1 maison "A louer"
    le bien peut etre "a louer" "a vendre" "a ceder"

    ou

    1 bien comporte les critères "a louer" "a vendre" "a ceder"
    le client peut avoir en critère "a louer" "a vendre"

    je pensais alimenter une zone de liste mais apparemment on ne peut pas demander le contenu total de cette ZDL

    voilà, je ne suis pas expert en la matière etb espèrant avoir des réflexions, idées...
    merci

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    De toutes manières, la solution n'est certainement pas une zone de texte hybride et non contrôlée.

    Il y a trois parties, dans ton post :
    1. Table Bien :
      "Indifférent" veut-il dire que le bien concerné est, indifférement, "A CEDER", "A LOUER" ou "A VENDRE" ?
    2. Table Client :
      "Indifférent" veut-il dire que le client concerné recherche, indifférement, un bien "A CEDER", "A LOUER" ou "A VENDRE" ?
    3. Recherche des biens pour un client (ou l'inverse) :
      Contruction des requêtes de recherches que nous verrons dans un deuxième temps, si tu veux.

Discussions similaires

  1. Cliquer sur zone de liste pour valider la valeur
    Par gwendk dans le forum Access
    Réponses: 7
    Dernier message: 15/05/2006, 15h13
  2. clic sur zone de liste pour validation
    Par ormoy28 dans le forum Access
    Réponses: 7
    Dernier message: 11/05/2006, 11h03
  3. Question sur Zone de Liste !
    Par Orakle dans le forum IHM
    Réponses: 3
    Dernier message: 25/11/2005, 09h38
  4. Acess2k3: Bande noire sur zone de liste différente
    Par uloaccess dans le forum Access
    Réponses: 5
    Dernier message: 28/10/2005, 17h57
  5. Evènement sur zone de liste
    Par Mout85 dans le forum IHM
    Réponses: 3
    Dernier message: 20/06/2005, 11h44

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