PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Probleme combo
Probleme combo
Débuté par Nait Chalal, 15 jan. 2015 12:40 - 7 réponses
Posté le 15 janvier 2015 - 12:40
Bonjour j'ai un problème avec Windev , je teste cet outil depuis une semaine.
J'ai des fenêtres avec une table par fenêtre et des champs de saisie ainsi que des boutons qui permettent d'afficher les saisies en question sur la table. Il se trouve que dans mes champs de saisie j'ai des combos qui ont des valeurs initiales. Je ne parviens pas à afficher le contenu de la combo saisie par l'utilisateur dans la table correctement , à chaque fois la colonne destinée au contenu de l combo choisi m'affiche un numéro qui est en cohérence avec la ligne de combo choisie par l'user. De plus mon projet est lié à une base HFSQL où j'y ai crée toutes mes rubriques et les combos sont bien crées à partir de rubriques .. Enfin quand je check le contenu des tables de ma base HFSQL les champs concernant les saisies sont présents sauf les combos , je précise on y voit seulement les numéros de ligne de combo choisies et non mes intitulés que j'ai crées initialement.
J'ai réellement besoin d'aide je reste à disposition rapidement pour vous fournir des Screenshots ou encore mes codes.
Je suis actuellement en stage et si je parviens à réaliser cette application à l'aide de Windev , l'entreprise envisage d'acquérir des licences.

Merci beaucoup de votre compréhension.
Membre enregistré
48 messages
Popularité : +2 (2 votes)
Posté le 15 janvier 2015 - 16:38
Bonjour !

Il se trouve qu'une combo a une valeur afficher et une valeur stockée (que tu peut changer avec la fonction glien() si tu la choisis dans l'onglet "détail" de ta combo). Si tu veux effectivement utilisé la valeur affiché et non stockée, il te faut faire :

COMBO_XX..ValeurAffichée


Voila !
Posté le 16 janvier 2015 - 10:01
D'accord . j'ai utilisé ce code : ListeAjoute(COMBO_Domaine, "Antennes" + gLien("1"))
Mais dans ma base de données HFSQL , je vois seulement 1 comme donnée dans ma table Domaine , alors j'ai séléctionné Antennes" et qu'il s'afiche bien mon tableau de la fenêtre. Mais la BDD ne stocke pas Antennes mais seulement 1.
Membre enregistré
48 messages
Popularité : +2 (2 votes)
Posté le 16 janvier 2015 - 10:25
Glien permet justement de changer ta variable mémorisé. Si tu veux donc passer par glien, tu dois lui préciser "Antennes", et non pas 1.

Regarde dans la doc de PCSoft, elle sera peut être plus clair que moi :) !
Posté le 16 janvier 2015 - 10:41
ListeAjoute(COMBO_Domaine, "Antennes" + gLien("Antennes"))
ce que j'ai écrit .
+ le code qui appelle la combo pour la table .
PROCEDURE EXPRESS_FEN_usecasebibi()
TableSupprimeTout(TABLE_produit)
POUR TOUT EXPRESS_LARBIbi
TableAjouteLigne(TABLE_produit,EXPRESS_LARBIbi.IDEXPRESS_LARBI,EXPRESS_LARBIbi.Domaine,EXPRESS_LARBIbi.ChefdeProduit,EXPRESS_LARBIbi.NomdeProduit)
FIN


Mais la combo ne safiche plus dans la table de la feneter et dans la bdd rien non plus.
Membre enregistré
101 messages
Popularité : +1 (1 vote)
Posté le 16 janvier 2015 - 12:10
Essaie de bien isoler ton problème.
Tu as visiblement un problème sur la combo, et tu nous montres un code qui concerne une table ...
Crée une fenêtre vierge, avec une combo, et un bouton avec comme code :
Info ( ma_combo)
ou encore info(ma_combo..valeurAffichéé)
ou encore info(ma_combo[ma_combo] )

Quand ton instruction info t'affichera ce que tu veux, reviens à ta fenêtre plus compliquée.
Posté le 16 janvier 2015 - 16:03
Bonjour, je me suis remis à WINDEV depuis Decembre avec ma MAJ 20 et j'ai rencontré le problème dans ma mission actuelle. je me fais de petits memos à chaque problème que je rencontre pour ne plus rechercher à chaque fois. J'espère que ce memo pourra te donner un coup de main.


Comment avoir les informations d’un combo et non le code 1, 2, 3 … dans un état.

Qui n’a pas la surprise de se retrouver avec du code dans un état à la place des informations que le combo met à disposition de vos utilisateurs ?

Problème lié à l’utilisation d’un combo dans une fiche lors d’un enregistrement.

La donnée dans la base de données sera le code de l’arborescence du combo et non sa valeur. Prenons pour exemple un combo simple qui renseigne sur l’état d’avancement d’une fiche d’incident
• Valeur 1 = Cas ouvert
• Valeur 2 = En cours de réalisation
• Valeur 3 = Finalisé

Si vous tentez de réaliser un état vous aurez dans la colonne de votre état non pas l’information à imprimer « cas ouvert » mais le code correspondant « 1 » ce qui n’est pas d’une grande utilisé sur un ETAT.

QUESTION : Comment retrouver l’information « Cas ouvert » au lieu de cette valeur « 1 »

SOLUTION : Effectuer une succession d’opérations, 5 étapes de réalisation sont à prendre en compte :
ETAPE N° 01 Un travail sur la duplication de l’information du combo sur un champ de saisie non actif
ETAPE N° 02 la création d’une procédure locale pour copier automatiquement l’information du combo dans le champ de saisi
ETAPE N° 03 Une mise à jour du fichier concerné de l’analyse avec la création de cette nouvelle rubrique
ETAPE N° 04 Une mise à jour de la description du tableau de votre état (lien sur la rubrique du fichier de l’analyse)
ETAPE N° 05 Test de fonctionnement et satisfaction d’avoir une information et non du code dans son état

RESUME ET CONCLUSION
Il faut créer un champ de saisi que vous nommerez du même nom que le champ à dupliquer en ajoutant le chiffre 2
Exemple si notre premier champ se nomme « Statut », le second devra se nommer « Statut2 »
Vous placerez ce nouveau champs en dehors de la fenêtre de saisie ou se trouve le premier champ « statut »

A présent il va falloir créer une procédure locale dans la FEN d’enregistrement des données
PROCEDURE COMBOSTATUT()
SAI_Statut2=(COMBO_STATUT..ValeurAffichée)

Le combo devra avoir le code de la procédure
COMBOSTATUT2()
Ce code est à positionner dans la partie « sélection d’une ligne de COMBOSTATUT » (code du combo )

Créer la rubrique dans l'analyse « statut2 »
Générer l'analyse
Créer le lien entre le champ et la rubrique de l'analyse

Testez pour vérifier
• Que la donnée du combo s'affiche bien en clair dans le champ de saisi (griser le pour éviter les mauvaises manipulations)
• Que la donnée passe bien dans l'analyse
• Que l'état imprime bien la donnée du champ de saisi2 ( statut2 )
Pour se faire ne pas oublier de créer le lien sur la bonne rubrique de l'analyse( statut2 )

Conclusion : vous avez créé un double du champ avec les données du combo qui s’affiche automatiquement dans ce nouveau champ
Vous avez rajouté ce champ dans l’analyse
L’état peut reprendre les données de cette nouvelle rubrique en clair
Comme cela vous n’avez plus le code1.2.3…. dans vos états mais l’information recherchée

En esperant avoir été assez clair.:merci:

Bruno
Membre enregistré
11 messages
Posté le 16 janvier 2015 - 16:23
Bonjour,

Comme je me suis remis à WINDEV avec la V 20 et que j'ai rencontré le même problème que toi , Par conséquent je t'adresse un de mes memos que je me suis fait pour éviter de rechercher à chaque fois sur les mêmes sujets qui me font perdre du temps.

Comment avoir les informations d’un combo et non le code 1, 2, 3 … dans un état.
Qui n’a pas la surprise de se retrouver avec du code dans un état à la place des informations que le combo met à disposition de vos utilisateurs ?

Problème lié à l’utilisation d’un combo dans une fiche lors d’un enregistrement.

La donnée dans la base de données sera le code de l’arborescence du combo et non sa valeur. Prenons pour exemple un combo simple qui renseigne sur l’état d’avancement d’une fiche d’incident
• Valeur 1 = Cas ouvert
• Valeur 2 = En cours de réalisation
• Valeur 3 = Finalisé

Si vous tentez de réaliser un état vous aurez dans la colonne de votre état non pas l’information à imprimer « cas ouvert » mais le code correspondant « 1 » ce qui n’est pas d’une grande utilisé sur un ETAT.

QUESTION : Comment retrouver l’information « Cas ouvert » au lieu de cette valeur « 1 »

SOLUTION : Effectuer une succession d’opérations, 5 étapes de réalisation sont à prendre en compte :
ETAPE N° 01 Un travail sur la duplication de l’information du combo sur un champ de saisie non actif
ETAPE N° 02 la création d’une procédure locale pour copier automatiquement l’information du combo dans le champ de saisi
ETAPE N° 03 Une mise à jour du fichier concerné de l’analyse avec la création de cette nouvelle rubrique
ETAPE N° 04 Une mise à jour de la description du tableau de votre état (lien sur la rubrique du fichier de l’analyse)
ETAPE N° 05 Test de fonctionnement et satisfaction d’avoir une information et non du code dans son état

RESUME ET CONCLUSION
Il faut créer un champ de saisi que vous nommerez du même nom que le champ à dupliquer en ajoutant le chiffre 2
Exemple si notre premier champ se nomme « Statut », le second devra se nommer « Statut2 »
Vous placerez ce nouveau champs en dehors de la fenêtre de saisie ou se trouve le premier champ « statut »
A présent il va falloir créer une procédure locale dans la FEN d’enregistrement des données

PROCEDURE COMBOSTATUT()
SAI_Statut2=(COMBO_STATUT..ValeurAffichée)

Le combo devra avoir le code de la procédure
COMBOSTATUT2()
Ce code est à positionner dans la partie « sélection d’une ligne de COMBOSTATUT »

Créer la rubrique dans l'analyse « statut2 »

Générer l'analyse

Créer le lien entre le champ et la rubrique de l'analyse

Testez pour vérifier
• Que la donnée du combo s'affiche bien en clair dans le champ de saisi (griser le pour éviter les mauvaises manipulations)
• Que la donnée passe bien dans l'analyse
• Que l'état imprime bien la donnée
Pour se faire faire le lien sur la bonne rubrique de l'analyse

Conclusion :
Vous avez créé un double du champ avec les données du combo qui s’affiche automatiquement dans ce nouveau champ
Vous avez rajouté ce champ dans l’analyse
L’état peut reprendre les données de cette nouvelle rubrique en clair
Comme cela vous n’avez plus le code1.2.3…. dans vos états mais l’information recherchée


J'espère que cela pourra aider dans ton projet, :)

BRB Bruno