|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Pb transfert d'une liste à une autre |
Débuté par Mano974, 06 aoû. 2019 13:18 - 10 réponses |
| |
| | | |
|
| |
Membre enregistré 8 messages |
|
Posté le 06 août 2019 - 13:18 |
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. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 845 messages Popularité : +227 (347 votes) |
|
Posté le 06 août 2019 - 16:25 |
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 |
| |
| |
| | | |
|
| | |
| |
Posté le 06 août 2019 - 16:28 |
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. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
Posté le 06 août 2019 - 17:59 |
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. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
Posté le 06 août 2019 - 18:00 |
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. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
Posté le 06 août 2019 - 18:06 |
Voici quelques captures :
|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 845 messages Popularité : +227 (347 votes) |
|
Posté le 06 août 2019 - 18:23 |
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 modifié, 06 août 2019 - 18:40 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
Posté le 07 août 2019 - 08:11 |
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.
|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 845 messages Popularité : +227 (347 votes) |
|
Posté le 07 août 2019 - 09:11 |
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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 845 messages Popularité : +227 (347 votes) |
|
Posté le 07 août 2019 - 09:28 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
Posté le 07 août 2019 - 09:31 |
Ok et merci du conseil, je vais regarder cela de plus prêt. |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|