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

WinDev Discussion :

Une recherche très difficile !


Sujet :

WinDev

  1. #21
    Débutant
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Points : 76
    Points
    76
    Par défaut
    le zip ou le projet ?
    sinon, j'ai refait le zip :
    http://lb25.free.fr/projet.zip

    Les "+" ont disparus, presque tout est bon
    Il y a juste la "note maximum" ou il y a toujours marqué "abs", je ne comprend pas pourquoi ...
    Et, je pense qu'il y aurait eu un moyen de faire plus simple que 3 données les memes !

  2. #22
    Débutant
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Points : 76
    Points
    76
    Par défaut
    J'ai un soucis, j'ai paramétré mes requetes pour qu'elles prennent pas en compte les "abs" mais, du coup, elles ne marchent plus !
    les valeurs sont fausse du style :

    Moyenne de l'élève : 15 ( conjugaison )
    + haute note : 5 ( conjugaison )
    + basse note : 15 ( conjugaison )
    moyenne : 10 ( conjugaison )

    la moyenne est juste mais pas la + haute et pas la + basse note

  3. #23
    Membre averti Avatar de Le Shadow
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 265
    Points : 305
    Points
    305
    Par défaut
    Tu sais et te rappelle bien que dans un champ texte, l'ordre numérique n'est pas tenu en compte hein ?

    1
    10
    2
    3
    4
    5
    ...
    Ta requete doit te retourner la note en valeur numérique....

  4. #24
    Débutant
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Points : 76
    Points
    76
    Par défaut
    Et, comment retourner la valeur en numérique ?
    Peut etre en faisant comme ça :

    RUB_Lecture = Val(Req_Max.Lecture)

  5. #25
    Débutant
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Points : 76
    Points
    76
    Par défaut Une recherche très difficile !
    Bonjour,

    J'ai fait une recherche en utilisant un code de ce type :
    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
     
    sRubCléParcours = HFiltre(NomEta, "Nom~]'"+valNom+"'"...
    	+" ET Rs~]'"+ValDate+"'"...
    	+" ET Classes~]'"+ValClasse+"'"...
    	+" ET Difficultes~]'"+ValDifficultes+"'"...
    	+" ET Pai~]'"+ValPai+"'"...
    	+" ET Suites~]'"+ValSuites+"'"...
    	+" ET Suivi~]'"+ValSuivi+"'"...
    	+" ET Conclusion~]'"+ValConclusion+"'")
     
    FIN
     
     
    // Parcours des enregistrements filtrés
    HLitPremier(NomEta,sRubCléParcours)
    Mais, hélas, la recherche "CONTIENT" ne fonctionne pas comme je le voudrais, Il me faudrait une recherche qui soit de ce type :

    1) l'utilisateur rentre ses élèves ( clients )
    2) l'utilisateur rentre dans le fenetre "recherche", PAR exemple : dans "difficultes" : allergie, asthme

    3) Le programme lui trouve automatiquement tous les élèves qui ont dans leur difficultes allergie et asthme

    Le problème actuel est quel, si en entrant un élève, l'utilisateur écrit
    Asthme ; Allergie
    ( un espace, un point-virgule, un espace )
    Et que dans le recherche il écrive :
    Asthme,allergie
    ( pas d'espace, une virgule,pas d'espace )
    Ou encors
    Asthme; Allergie
    9a ne fonctionnera pas !
    Comment régler ce problème ?

    Merci, @+

  6. #26
    Membre averti Avatar de JPDMJC
    Profil pro
    Inscrit en
    Février 2005
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 337
    Points : 394
    Points
    394
    Par défaut
    Bonjour,
    n'étant pas devin, je n'ai absolument rien compris au début de ton message. Qu'est ce que c'est que cette recherche "CONTIENT" ? etc.

    La seule chose que je puisse te dire, c'est qu'il ne faut pas laisser l'utilisateur saisir une liste de mots en mettant lui même le séparateur. Fais par exemple une liste (une listebox pour les difficultés, une autre pour les moutons ,etc), quelquechose que tu puisses contrôler sans quoi les "rhaaa ça marche pas" vont fuser

    Sinon, si tu veux laisser l'utilisateur mettre la chaine de séparation, il te faudra un code souple. Les expressions régulières (via vérifieExpressionRégulière) te seront alors d'un grand secours.
    Les expressions régulière permettent certes de vérifier la validité d'une chaîne par rapport à un schéma, mais elle permettent aussi - et ça j'adore - d'extraire des données issues de ce schéma (tout est marqué dans l'aide, mais pour les symboles il faut aller voir ailleurs, sur tout bon site ou manuel de regexp).

  7. #27
    Débutant
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Points : 76
    Points
    76
    Par défaut
    Bonjour,
    Les "rhaaa ça marche pas" ont déjà fusés ...
    La liste des difficultés est bien trop longue pour pouvoir les rentrées moi meme, et, il n'y en a pas de "fixe".
    Il faudrait une recherche "maxi-souple" qui ne prend pas en compte les espaces, les points, les virgules, les points-virgules, etc ...
    Je vais regarder les expressiosn régulières !

    je n'ai pas bien compris l'histoire des symboles et, comment utiliser ses expressions régulières dans mon cas ?
    ( après un tour dans l'aide, je n'ai aps bien compris )

  8. #28
    Membre averti

    Profil pro
    Inscrit en
    Août 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 140
    Points : 312
    Points
    312
    Par défaut
    Je trouve ta recherche très compliquée.

    L'utilisation d'un tel HFiltre semble vraiment pas adapté, je ne sais pas si une raison particulière impose cette solution.
    Mais disons qu'une requête serait dans un premier temps + sympathique à utiliser.

    Ensuite, concernant tes recherches souples.
    Ca ne serait qu'un paramètre de ta requête que tu formaterais à l'aide des fonctions de phonétique, majuscule et autres...

    Les paramètres de la requête peuvent être mis à null pour ne pas agir sur les conditions de cette dernière.


    Ensuite, pour ce qui est de la recherche multi mot si on peut l'appeler ainsi, il n'y a pas de solution miracle, cependant tu peux décomposer cette entrée en plusieurs mots que tu modifie à l'aide des fonctions dont je parlais au dessus... et tu exécutes la requête, stocke les ID des résultats, et ainsi de suite jusqu'à avoir traité toute la chaine de recherche.
    Voir même lui passer la liste des chaines recherchés en fonction des espaces.

    Une autres solution serait éventuellement de mettre plusieurs champs de saisie où l'utilisateur ne peut entrer qu'un terme qui sera recherché.



    Il n'existe pas de solution miracle, même avec des expressions régulières, c'est à toi de traiter ces éléments du champ de recherche.

    J'avoue souvent utiliser la fonction de phonétique et ensuite découper la chaîne en fonction des éventuels espaces qu'il peut y avoir. Le tout combiné à une requête paramétrée bien + efficace qu'un HFiltre.

    Bonne suite.

  9. #29
    Débutant
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Points : 76
    Points
    76
    Par défaut
    Bonjour,
    J'avou ne pas avoir tout compris ou, n'avoir rien compris ...
    Un exemple serait le bienvenue !

  10. #30
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Bonjour à tous !

    Bon récapitulons :

    Tu as une série de chaines de caractères contenant soit abs soit une valeur et tu voudrais en tirer des statistiques.

    Mon conseil : utilise les matrices. En effet tu place chaque valeur non "abs" dans une matrice, windev va te calculer automatiquement, la moyenne, le maxi, le mini, et meme l'ecart type.

    L'aide en ligne sur matrice et fonctions statxxx devraient te suffire.

    Quant à ta recherche contenant les 'difficultés' je te conseille de les mettrere dans une autre table avec un difficulté par enregistrement. Tu fera une cherche sur une seule à la fois comme ça pas de problème de séparateur je te conseille égélement des recherche du genre phonétique ce qui permet des fautes de frappes parfois.

  11. #31
    Débutant
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Points : 76
    Points
    76
    Par défaut
    Bonjour,
    J'ai regardé les matrices, mais je ne vois pas comment la remplir des notes uniquement pas absent !

  12. #32
    Débutant
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Points : 76
    Points
    76
    Par défaut
    Les notes vont de 0 a 10
    pour les valeurs maximales des notes
    1,2,3,4,5,6,7,8,9
    ya aucun problème mais pour le 10, il ne prend que le 1
    Il faudrait dire que 10 c'est 10 et que 1 c'est 1
    (je n'ai pas tester le 0 )
    merci de votre aide

  13. #33
    Membre averti Avatar de Le Shadow
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 265
    Points : 305
    Points
    305
    Par défaut
    vérifie la longueur de ton champ...

  14. #34
    Débutant
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Points : 76
    Points
    76
    Par défaut
    En quoi la longueur de mon champ permet de prendre en compte 10 au lieu de 1 ???
    @+

  15. #35
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Franchement... C'est évident.
    Si ta chaîne fait un caractère comment veux-tu lire 10 ?

    Mais je pense que tu te mélanges les pinceaux (depuis le début) entre valeur et chaînes.

  16. #36
    Débutant
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Points : 76
    Points
    76
    Par défaut Requete SQL ne fonctionne pas sur champ "texte"
    Bonjour,
    j'utilise une requete sql qui tri mes enregistrements différents de "abs" et la note la plus haute / la + basse
    La, il y a un problème : mes champs sont des champs "texte" ( 50 caractères )
    Et, lorsqu'il tri le "10", il ne dit pas que c'est la note la plus haute par rapport a 2,3,4,5,6,7,8,9 car il ne prend en compte que le "1"

    Meci de m'aider,
    @+

  17. #37
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    quand tu tries 1,2,11,12 tu as 1,2,11,12 avec des chiffres, 1,11,12,2 avec du texte. Le mieux serait de faire un order by wl.chaineversnumerique(colonne).

  18. #38
    Débutant
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Points : 76
    Points
    76
    Par défaut
    Je met ce code ou ?
    comment l'utiliser ?
    l'aide ne fournit aucune infos !

  19. #39
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Il est tout à fait normal que l'aide de Windev ne fournisse pas d'information sur une question de raisonnement. L'aide permet d'apprendre les fonctions du W-Langage pas la programmation

    C'est le principe de départ qui est "foireux".
    Tu essayes de combiner les valeurs avec une chaîne.
    Il eut été beaucoup plus simple d'avoir une valeur fictive pour noter les absences, une valeur negative par exemple.
    Il aurait suffit de remplacer à l'affichage cette valeur fictive par "Abs" et tu n'aurais pas eu de problème de tri.
    Mais ça, ce n'est pas du Windev

  20. #40
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    Citation Envoyé par orditosh Voir le message
    Je met ce code ou ?
    comment l'utiliser ?
    l'aide ne fournit aucune infos !
    ben moi les requete SQL je les code... donc tu prends ton code SQL de ta requete, dans la partie order by tu mets la fonction que je te donne, et tu regardes la fonction HExecuteRequete.

    Je rejoins Guardian, tu cherches des moyens techniques pour compenser une erreur d'analyse... Ca te coutera moins cher de faire marche arrière dès maintenant que de poursuivre dans cette voie à mon avis.

Discussions similaires

  1. Recherche de mots dans une séquence très longue
    Par Jasmine80 dans le forum Langage
    Réponses: 0
    Dernier message: 21/12/2007, 10h52
  2. Optimisation d'une recherche et mise à jour
    Par gandf dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/01/2005, 18h38
  3. Réponses: 8
    Dernier message: 10/09/2004, 17h30
  4. [VB.NET] Quel objet tableau pour une recherche indexée ???
    Par Kitano dans le forum Windows Forms
    Réponses: 7
    Dernier message: 02/09/2004, 09h38
  5. Enlever la surbrillance lors d'une recherche avec vi
    Par sekiryou dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 04/03/2004, 13h55

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