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 enregistrement des données d'un sélecteur


Sujet :

WinDev

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 324
    Points : 40
    Points
    40
    Par défaut Problème enregistrement des données d'un sélecteur
    Bonjour,

    Je rencontre un nouveau problème avec un sélecteur placé dans une colonne d'un champ table:
    Nom : 15-04-2014 17-09-02.jpg
Affichages : 198
Taille : 58,5 Ko

    En réalité à l'enregistrement, lorsque je clique sur un bouton validé, le sélecteur garde tout le temps la même valeur.
    Voici mon code qui permet d'enregistrer mes modifications:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    POUR TOUTE LIGNE DE TABLE_Compo_equipe
    	HLitRecherchePremier(EMPLOYES,IDEMPLOYES,COL_Matricule)
    	SI HTrouve(EMPLOYES) ALORS
    		//Info(EMPLOYES.horaire)
    		//TABLE_Compo_equipe.COL_Horaire.SEL_horaire_employe = -1
    		SI COL_Poste <> EMPLOYES.Code_zone_affectation ALORS
    			EMPLOYES.Code_zone_affectation = COL_Poste..ValeurAffichée
    		FIN
    		SELON TABLE_Compo_equipe.COL_Horaire.SEL_horaire_employe..AffichageActif//[numligne]
    			CAS 1
    				EMPLOYES.horaire = "HORAIRE 32 HEURES"
    			CAS 2
    				EMPLOYES.horaire = "HORAIRE 35 HEURES"
    			CAS 3
    				EMPLOYES.horaire = "HORAIRE 36 HEURES"
    			CAS 4
    				EMPLOYES.horaire = "HORAIRE 37 HEURES"
    			CAS 5
    				EMPLOYES.horaire = "HORAIRE 39 HEURES"
    			CAS 6
    				EMPLOYES.horaire = "HORAIRE 40 HEURES"
    			CAS 7
    				EMPLOYES.horaire = "HORAIRE 48 HEURES"
    			CAS 8
    				EMPLOYES.horaire = "ABSENT"
    			CAS 9
    				EMPLOYES.horaire = "MODULATION NEGATIVE"
    			CAS 10
    				EMPLOYES.horaire = "FORMATION"
    		FIN
    		SI SEL_Poste_semaine_prochaine <> EMPLOYES.Poste_M_AM_N_J ALORS
    			EMPLOYES.Poste_M_AM_N_J = SEL_Poste_semaine_prochaine
    		FIN
    		HModifie(EMPLOYES)
    		
    	FIN
    FIN
    La valeur du sélecteur, conservée, est la dernière sur laquelle j'ai cliqué.

    Avez-vous connaissance de ce problème ?
    Merci pour votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 276
    Points : 739
    Points
    739
    Par défaut
    Bonjour,

    Premier problème : vous faites le SELON sur la propriété ..AffichageActif (je pense que c'est une faute de frappe suite à divers tests...mais on ne sait jamais).
    Deuxième point : je vous conseille de mettre le sélecteur comme "champ principal" de la colonne conteneur : de cette façon, il suffit de récupérer la valeur de la colonne pour récupérer la valeur du sélecteur.
    Au pire du pire, vous pouvez accéder au champ sélecteur en précisant bien la colonne conteneur ET l'indice :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    POUR TOUTE LIGNE nIndice DE TABLE_Compo_equipe
     
      // Méthode en précisant la colonne conteneur ET l'indice (le nIndice est déclaré par le POUR TOUT)
      Trace(COL_Horaire[nIndice].SEL_horaire_employe)
     
      // Méthode en appelant directement la colonne (si le sélecteur a été mis en champ principal). 
      Trace(COL_Horaire[nIndice]) // ou Trace(COL_Horaire) 
     
    FIN
    Cordialement.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 324
    Points : 40
    Points
    40
    Par défaut
    Bonjour,
    En effet c'était une erreur de ma part concernant le AffichageActif, j'avais oublié de le supprimer après mes tests.
    Le fait de mettre table_compo_equipe.col_horaire à la place de table_compo_equipe.col_horaire.SEL_horaire_employe a résolu mon problème.

    Par contre j'ai toujours un souci, il faut cliquer deux fois sur l'option du sélecteur que je veux activer.
    Sinon l'option ne change pas. On a l'impression (au premier clic) que l'option sélectionnée va changer mais finalement il revient à la position initiale.
    Au second clic ça fonctionne...

    Merci encore.

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 276
    Points : 739
    Points
    739
    Par défaut
    Mieux vaut éviter de mélanger des sujets et de relancer un problème d'un autre post.
    Si le problème de ce post est résolu, passez-le en "résolu".

Discussions similaires

  1. Problème pour enregistrer des données
    Par furax51 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/07/2014, 09h35
  2. Réponses: 2
    Dernier message: 04/06/2014, 12h43
  3. [Débutant] problème au cours de l'enregistrement des données
    Par pokyss1 dans le forum C#
    Réponses: 1
    Dernier message: 08/05/2012, 13h07
  4. Réponses: 5
    Dernier message: 20/11/2010, 02h29
  5. [MySQL] problème d'enregistrement des données
    Par johan0510 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/03/2010, 10h26

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