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 :

faire une recherche multicritère


Sujet :

WinDev

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 167
    Points : 75
    Points
    75
    Par défaut faire une recherche multicritère
    Bonjour à tous,

    Afin d'exporter des données d'un base Dbase vers hyperFile, je suis amené a utiliser ce type de code afin d'acceder aux données de ma table client. (dans notre cas, le client n°10)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    HDBOuvre("Client","CL", "C:\DBF\Client.DBF") //Ouverture 
    HLitRecherche("Client","Num_client", 10) // Recherche de l'enregistrement
    MaTableHF.NomClient = {"CL.Nom_client"} // Export des données
    est-il possible de faire la meme chose, mais avec plus de critère de recherche???

    Sachant que le resultat de cette requête aura plusieurs enregistrements, comment lire au fur et à mesure les enregistrements trouvés?

    merci

    Yann

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    est ce que tu veux dire que tu cherche tous les enregistrements propres au client N°10 dans ce même fichier , si c'est le cas tu peux utiliser hlitsuivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    hlitrecherche(client,clé,10)
    tantque htrouve et pas hendehors()
    // traitement d'export
    hlitsuivant(client,clé)
    fin

  3. #3
    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
    Pour une recherche multi-critères, le plus simple est d'utiliser HFiltre() ou une requête.
    Pour parcourir le résultat, tu utilises HLitPremier() puis HLitSuivant()

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 167
    Points : 75
    Points
    75
    Par défaut
    Déjà merci beaucoup pour ces réponse! c'est vraiment sympa.

    En fait j'ai une table avec 2 clés primaires.

    On va dire par exemple, n° client et n° pays, et cela me donne la liste des villes de ce pays, que ce client a visité. (c'est qu'un exemple)

    Guardian, tu as dis "Pour une recherche multi-critères, le plus simple est d'utiliser HFiltre() ou une requête." => Sachant que j'ai essayé HFiltre() sans succès, comment dois-je mis prendre pour executer une requête sur mon fichier Dbase???

    pour l'instant j'ai:
    CléVisite = HFiltre("Visite","NumClient", "1", "5000", "NumClient= 1 ET Pays= 1")
    => Cela me dit: La rubrique <NumClient> du fichier <Visite> n'est pas une clé.
    GLOUPS!

  5. #5
    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
    Les filtres ne sont utilisables que sur les rubriques clefs (de mémoire)

    Si les rubriques de sélection ne sont pas des rubriques clefs, le mieux est de faire une requête.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 167
    Points : 75
    Points
    75
    Par défaut
    et qu'elle est la fonction qui permet d'executer une requête sur un fichier .DBF???

  7. #7
    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
    Tu as déjà eu ta réponse ici pour l'accès à la base
    Ensuite tu dois créer une requête et l'appeler HExecuteRequete()

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 167
    Points : 75
    Points
    75
    Par défaut
    Merci à tous pour votre aide !!!

    Cela fonctionne

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

Discussions similaires

  1. Faire une recherche avec/sans accents
    Par Wedge3D dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/02/2007, 10h43
  2. [VB.NET] Faire une recherche dans une treeview
    Par Aspic dans le forum VB.NET
    Réponses: 3
    Dernier message: 15/11/2005, 19h10
  3. Réponses: 9
    Dernier message: 07/11/2005, 19h57
  4. faire une recherche sans tenir compte de la casse
    Par richard038 dans le forum SQL
    Réponses: 5
    Dernier message: 11/10/2005, 09h07
  5. cherche une fonction qui permet de faire une recherche
    Par vbcasimir dans le forum Langage
    Réponses: 7
    Dernier message: 01/09/2005, 17h24

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