Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Remplir une liste avec un champ combo et procédure
#1
Bonjour la communauté , voila je suis stagiaire et mon projet de stage est de réaliser une application BDD . J'ai importé la base de donné (as/400) dans un fichier excel. J'ai réussi à créer les fichiers hyperfile. le premier fichier est le fichier CLIENT , il contient NoCLI ( clé unique , numéro client) le nom et l'adresse ( non clé) puis le fichier ARTICLE , il contient NumArt ( clé unique , numéro de l'article) , le libéllé ( non clé , désignation ) et le MODELE( non clé , modèle ) , CLINIK ( idendifiant client clé avec doublons ) . Dans l'analyse j'ai fait une liaison avec CLIENT ET ARTICLE , ( commande ) donc j'ai la clé NoCLI dans le fichier ARTICLE également. Le but de mon application serait de pouvoir afficher les tous les articles d'un client , dont j'aurais saisi le nom. J'ai réussi à remplir la combo_client avec le fichier mais je n'arrive pas à récupérer le NoCLI(numéro client ) dans la combo, car dans la combo j'affiche le nom et récupère le NoCLI. A la selection d'une ligne combo j'ai lancé une procédure locale dont voiçi le code :
Code :
PROCEDURE selection()
HLitPremier(Article,NoCLI)
SI HTrouve(Article) ALORS
    TANTQUE HTrouve() ET PAS HEnDehors()
        ListeAjoute(Liste_1, Article.NumArt)
        HLitSuivant(Article)

        FIN
SINON

    Info("Aucun enregistrement trouvé dans le fichier")
FIN
si quelqu'un pouvez m'aider car la je vais m'arracher les cheveux si ça continue
Répondre
#2
up ,

Voila je suis sure qu'il y a une erreur toute bete dans mon code ,Dans la combo ou il y le nom des client et le numero ( Nocli ) , dans la ligne de selection j'ai déclaré un entier NumCli et l'ai initialisé a la valeur NoCli ( numéro du client ) ensuite j'appelle la prpcédure pour remplir la liste article :
Code :
PROCEDURE selection()

HLitPremier(Article,NoCLI)
SI HTrouve(Article) ALORS
    Info("enregistrement trouvé")
FIN
    
    Article.CLINIK = numcli

    compterendu est un booléen
    compterendu=HChangeClé(Article,CLINIK)
  
    SI compterendu = Vrai ALORS
    Info("clé parcours changé")
    SINON
        ErreurInfo()
    FIN

    TANTQUE  PAS HEnDehors() ET Article.NoCLI = Client.NoCLI
        HLitSuivant(Article,CLINIK)
        ListeAjoute(Liste_1, Article.NumArt)
    FIN
Quand je lance et que je selectionne un nom de client il m'affiche tous les articles , et quand je change de nom de client , rien ne se passe ( enfin il affiche les memes choses )
voila , si vous avez besoin d'autre information pour m'éclairer sur mon erreur, n'hésitez pas
Répondre
#3
Bonjour,

je ferais une procedure qui accepte un parametre le client a rechercher

Code :
PROCEDURE selection(p_NoCli)
    HLitRecherchePremier(Article,CLINIK,p_noCli)
    TANTQUE  htrouve(article)()
          ListeAjoute(Liste_1, Article.NumArt)
          HLitSuivant(Article,CLINIK)
     FIN

ensuite dans le code de la combo envoyer la procedure avec le NOcli correspondant dans l'appel de la procedure
ce qui permet en mettant un point d'arret de voir que le NoCli dans la procedure est bon ou non
[b]une erreur peut s'avérer exacte ! il suffit que celui qui la commise se soit trompé...
[/b]
Bon dev
@+

[b]Firetox[/b]
[url]http://www.Emidev.fr[/url]

[PS] je ne repond pas au message privé[/PS]
Répondre
#4
justement c'est bien sa le probleme , je n'arrive pas à récupérer le NoCLI de la combo . Si j'essaie de déclarer un entier et de dire que : client.NoCLI = ( nom_de_ma_combo) , nom_de_ma_combo sera bien égale au numéro client , mais Client.NoCLI reste à zéro :roll:
Répondre
#5
Comment chargez vous la combo ?
[b]une erreur peut s'avérer exacte ! il suffit que celui qui la commise se soit trompé...
[/b]
Bon dev
@+

[b]Firetox[/b]
[url]http://www.Emidev.fr[/url]

[PS] je ne repond pas au message privé[/PS]
Répondre
#6
je l'ai chargé avec le fichier hyperfile CLIENT , à l'aide de l'assitant , j'ai choisi d'afficher le Nom et de mémorisé le NoCLI
Répondre
#7
vous n'avez pas besoin de client.nocli puisque la combo vous le renvoie vous le passez en parametre a la fonction comme je l'ai ecrite et cela devrait fonctionner
[b]une erreur peut s'avérer exacte ! il suffit que celui qui la commise se soit trompé...
[/b]
Bon dev
@+

[b]Firetox[/b]
[url]http://www.Emidev.fr[/url]

[PS] je ne repond pas au message privé[/PS]
Répondre
#8
sa ne fonctionne pas ....... rien ne s'affiche dans la liste , on dirait que ma conbo ne renvoie pas le numéro client
Répondre
#9
mettez un point d'arret dans la procedure et regardez la valeur de p_noCli

sinon pour le code dans selection d'une ligne de la combo
mettez le code

Code :
si maCombo > 0 alors selection(maCombo[maCombo])

en changean maCombo par le nom que vous lui avez donné
[b]une erreur peut s'avérer exacte ! il suffit que celui qui la commise se soit trompé...
[/b]
Bon dev
@+

[b]Firetox[/b]
[url]http://www.Emidev.fr[/url]

[PS] je ne repond pas au message privé[/PS]
Répondre
#10
oui !! il m'affiche enfin quelque chose dans la liste , sauf que ce n'est pas les bons articles correspondant au client et qu'il affiche toujours la meme chose . Une fonction RAZ ferait l'affaire ?
Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  probleme avec un champ image et une video Guest 1 1,350 17-04-2004, 04:38 PM
Dernier message: Guest
  [WINDEV 8.0]remplir un formulaire web Guest 0 1,327 31-03-2004, 03:02 PM
Dernier message: Guest

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)