|
Pb transfert d'une liste à une autre |
Started by Mano974, Aug., 06 2019 1:18 PM - 10 replies |
| |
| | | |
|
| |
Registered member 8 messages |
|
Posted on August, 06 2019 - 1:18 PM |
Bonjour à tous , je suis nouveau sur le forum ainsi que dans l'utilisation de WinDev. Je suis sur WinDev 20.
J'ai déjà parcouru pas mal de Tuto sur le Web ainsi que l'aide en ligne de PCSOFT, mais malgrés tous les articles lus je n'ai pas su résoudre mon problème. Donc petite description d'une chose qui me paraissait simple...
J'ai une fenêtre LISTE (les des produits) avec des éléments chargés depuis un FICHIER (fichier 1), je souhaite à l'aide de deux BOUTONS AJOUTER ou SUPPRIMER mettre ou retirer les éléments sélectionnés de la LISTE 1 mais dans une TABLE ou autre LISTE 2. Après le CLIC sur l'un ou l'autre des BOUTONS je voudrais que l'ajout se face à l'écran mais aussi dans un autre FICHIER (fichier 2 = produits à vendre). Actuellement lorsque je tente un AJOUT, j'ai rien dans le deuxième fichier (table avec WDmap vide) mais à l'écran je n'ai que des 0 les un en dessous des autres.
Code du bouton : SI TABLE_EnVente..Valeur <> "" ALORS ResCherche est un numérique TexteAjouter est une chaîne //recherche dans la table Cible par rapport à l'élément importé ResCherche = TableCherche(COL_NomPruduit, LISTE_TypeProduitSource..ValeurAffichée) Info(ResCherche) // le texte affiché est normal SI ResCherche = -1 ALORS TexteAjouter = LISTE_TypeProduitSource..ValeurAffichée Info(TexteAjouter) TableAjouteLigne(TABLE_EnVente, TexteAjouter) TableTrie(TABLE_EnVente) FIN FIN Code de la table -> aucun
Une idée de se qu'il manque pour que cela fonctionne ? Merci de vos conseils. |
| |
| |
| | | |
|
| | |
| |
Registered member 3,885 messages Popularité : +227 (347 votes) |
|
Posted on August, 06 2019 - 4:25 PM |
Bonjour, Pour résumer, tu as une table PRODUIT qui ressemble à ça :
Et tu cherches grâce à une fenêtre qui ressemble à ça :
à afficher les produits disponibles et les produit en vente, avec un passage éventuel de l'un à l'autre
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Posted on August, 06 2019 - 4:28 PM |
Bonjour,
Dans ton code, il n'y a aucune instruction d'ajout dans un fichier de données (hajoute....).Pour les 0 qui apparaissent,il faudra vérifier les types de tes colonnes. Je te conseille de finir ta sélection avant de faire un enregistrement global dans la base de données. |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages |
|
Posted on August, 06 2019 - 5:59 PM |
minsk a écrit :
Bonjour,
Dans ton code, il n'y a aucune instruction d'ajout dans un fichier de données (hajoute....).Pour les 0 qui apparaissent,il faudra vérifier les types de tes colonnes. Je te conseille de finir ta sélection avant de faire un enregistrement global dans la base de données.
Merci de ta réponse, il y a un BOUTON BNT_Valider dans la fenêtre FEN_Fiche_fournisseur, le code est :
SI SAI_Societe ~= "" ALORS Erreur("Vous devez saisir le nom de la société.") RepriseSaisie(SAI_Societe) FIN
// Lecture des informations saisies EcranVersFichier()
// Ajoute / modifie l'enregistrement HEnregistre(Fournisseur)
// Valeur de retour de la fenêtre MaFenêtre..ValeurRenvoyée = Vrai
Le fichier cible se trouve dans cette fenêtre. |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages |
|
Posted on August, 06 2019 - 6:00 PM |
Voroltinquo a écrit :
Bonjour, Pour résumer, tu as une table PRODUIT qui ressemble à ça :
Et tu cherches grâce à une fenêtre qui ressemble à ça :
à afficher les produits disponibles et les produit en vente, avec un passage éventuel de l'un à l'autre
-- Il y a peut être plus simple, mais, ça tourne
Oui c'est bien quelque chose de ressemblant à ton exemple. |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages |
|
Posted on August, 06 2019 - 6:06 PM |
Voici quelques captures :
|
| |
| |
| | | |
|
| | |
| |
Registered member 3,885 messages Popularité : +227 (347 votes) |
|
Posted on August, 06 2019 - 6:23 PM |
Je suppose que ta table "EnVente" se rapporte à "TypeProduit", dans ce cas elle (ainsi que sa table de relation) est inutile un booléen dans "TypeProduit" suffit. Le passage en position "EnVente" consiste à passer ce booléen à vrai. Il suffit alors d'alimenter le champ des produit en vente (TABLE_EnVente) par une requête du style (REQ_ProduitEnVente)
SELECT Produit.PK_Produit AS PK_Produit, Produit.AK_RefProduit AS AK_RefProduit, Produit.NDX_NomProduit AS NDX_NomProduit, Produit.Prix AS Prix, Produit.NDX_EnVente AS NDX_EnVente FROM Produit WHERE Produit.NDX_EnVente = 1
En ce qui concerne le code du bouton "Ajouter" (en supposant que la table de gauche renvoie l'ID du produit
SI HLitRecherche(TypeProduit,IDProduit,TableSelect(TABLE_Disponible)) ALORS TypeProduit.NDX-EnVente=Vrai HModifie(TypeProduit) HExcuteRequete(REQ_ProduitEnVente) TableAffiche(TABLE_EnVente) SINON FIN -- Il y a peut être plus simple, mais, ça tourneMessage modified, August, 06 2019 - 6:40 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages |
|
Posted on August, 07 2019 - 8:11 AM |
Bonjour et merci pour cette réponse mais la TABLE TypeProduit ne contient pas de Booléen, elle contient le Nom du Produit ex : Hydroxide de sodium et le Type ou famille de Produit ex : produit chimique. Donc il peut y avoir plusieurs produits appartenant à la même famille.
|
| |
| |
| | | |
|
| | |
| |
Registered member 3,885 messages Popularité : +227 (347 votes) |
|
Posted on August, 07 2019 - 9:11 AM |
Il faut l'ajouter. Et avant tout te former sur les bases de données. Tu comprendras les erreurs que tu as faites dans ton analyse. Conceptuellement parlant, EnVente et TypeProduit sont les même entités donc une table suffit à regrouper leurs enregistrements.
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Registered member 3,885 messages Popularité : +227 (347 votes) |
|
Posted on August, 07 2019 - 9:28 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages |
|
Posted on August, 07 2019 - 9:31 AM |
Ok et merci du conseil, je vais regarder cela de plus prêt. |
| |
| |
| | | |
|
| | | | |
| | |
|