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 :

problème lecture deux enregistrements différents dans le même fichier [WD18]


Sujet :

WinDev

  1. #1
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2012
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 85
    Points : 87
    Points
    87
    Par défaut problème lecture deux enregistrements différents dans le même fichier
    Bonjour chers membres, je bute sur le problème suivant et sollicite votre aide.

    J'ai un fichier EMPLOI qui contient deux identifiants pointant vers une table PERSONNE, le premier pointant vers la personne occupant l'emploi, le second vers le manager de cette personne.

    En édition de la fiche PERSONNE d'une personne sélectionnée, j'ai une zone répétée me permettant de gérer son historique d'EMPLOI. Pour afficher les noms des autres personnes susceptibles d'être sélectionnées comme étant le manager de la personne sélectionnée, je dois accèder au fichier PERSONNE.

    Mon problème est que je suis déjà positionné sur ce fichier pour la personne sélectionnée. Question: comment accèder à un autre enregistrement de ce même fichier?

    Mon code de remplissage de la liste (combo) des managers potentiels est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    POUR TOUT EMPLOI AVEC EMPLOI.CompanyID=ATT_company
    	HLitRecherche(PERSONNE, PersonID,EMPLOI.PersonID)
    	ListeAjoute(MoiMême,PERSONNE.FullName + gLien(PERSONNE.PersonID)) 
    FIN
    ListeTrie(MoiMême)

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    L'idéal est de passer par du SQL... mais dans votre cas vous pouvez utiliser les hAlias...

  3. #3
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2012
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 85
    Points : 87
    Points
    87
    Par défaut
    Merci Michel, mais à la lecture de la doc je comprends que l'alias fonctionne avec un fichier physique distinct et le même fichier logique, ou bien je me trompe complétement?

    Je vais investiguer la piste du code SQL.

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Citation Envoyé par fdelepine Voir le message
    Merci Michel, mais à la lecture de la doc je comprends que l'alias fonctionne avec un fichier physique distinct et le même fichier logique, ou bien je me trompe complétement?

    Je vais investiguer la piste du code SQL.
    Non il s'agit de générer un fichier logique a partir d'un fichier décrit dans l'analyse ce qui permet entre autre de manipuler 2 fois la même source de données avec des curseurs distincts.

    L'idée en SQL serait de joindre la table à elle même....

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 451
    Points
    2 451
    Par défaut
    Bonsoir,

    Windev a prévu le coup : voyez HsauvePosition et HRetourPosition.

    Extrait et exemple de la doc :
    Mémorise le contexte en cours d'un fichier de données : enregistrement en cours, filtre, pointeurs de lecture. Il est ainsi possible de suspendre momentanément le traitement en cours, d'utiliser le fichier de données par ailleurs (pour effectuer des vérifications par exemple). Le contexte sauvegardé pourra être restitué grâce à la fonction HRetourPosition. Le traitement principal pourra alors continuer.

    // Recherche d'un enregistrement
    HLitRecherchePremier(CLIENT, NOM, Nom)
    TANTQUE HTrouve(CLIENT) = Vrai
    // Sauve le contexte en cours
    nPos = HSauvePosition(CLIENT, NOM)
    // Vérification d'un client d'un autre nom
    HLitRecherche(CLIENT, NOM, Nom2)
    SI HTrouve() = Vrai ALORS Compteur = Compteur + 1
    // Restaure le contexte
    HRetourPosition(nPos)
    HLitSuivant(CLIENT, NOM)
    FIN
    Bon travail

    Hemgé

  6. #6
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2012
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 85
    Points : 87
    Points
    87
    Par défaut
    Super, merci à vous deux!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/08/2009, 21h55
  2. Réponses: 2
    Dernier message: 10/04/2009, 06h03
  3. Deux formulaires différents dans une même page
    Par zabdaniel dans le forum Langage
    Réponses: 3
    Dernier message: 14/01/2008, 20h31
  4. [Débutant]Deux Threads différent dans une même classe?
    Par Invité dans le forum Concurrence et multi-thread
    Réponses: 10
    Dernier message: 26/01/2007, 15h58
  5. Deux actions différentes dans un même formulaire
    Par gpsevasion dans le forum Langage
    Réponses: 3
    Dernier message: 25/01/2007, 00h30

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