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 :

Dupliquer des enregistrements dans une table mémoire [WD15E]


Sujet :

WinDev

  1. #1
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 71
    Points : 62
    Points
    62
    Par défaut Dupliquer des enregistrements dans une table mémoire
    Bonjour

    Après plusieurs jours de recherche je suis coinçé et j ai besoin de votre aide , merci d'avance à tous ceux qui vont m apporter de l'aide :

    Mon souci est le suivant : j'ai une fenetre dans laquelles j ai lés éléments suivants :

    - Champ de saisie : [ Référence article]
    - Champ de saisie : [NB des unités de conditionnement]
    - Champ de saisie : [NB des unités de manutention]
    - un champ table mémoire [Stock] dont les colonnes correspondent aux trois champs de saisie

    ce que je souhaite faire c'est quand j'intégre une référence article en stock le système me duplique un nombre d'enregistrement ( Nombre de ligne dans ma table stock) autant de fois que de NB des unités de manutention saisie dans mon champ.

    Merci encors une fois

    Totik

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 280
    Points : 12 974
    Points
    12 974
    Par défaut
    Bonjour,
    Je pense que je n'ai pas compris le problème, car je ne vois pas trop où est la difficulté:
    Une simple boucle de 1 à "la valeur de ton champ", et un TableAjoute dans la boucle...

    Tatayo.

  3. #3
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 71
    Points : 62
    Points
    62
    Par défaut
    Bonjour

    Dans la fenetre , j'ai inséré le code suivant sur prise de focus de Express Appro :

    [CODE]
    [TableSupprimeTout(Stock)
    HLitPremier(EXPRESS_Stock,Référence_Fournisseur)
    TANTQUE H.Trouve ET PAS H.EnDehors
    TableAjoute(Stock,EXPRESS_Stock.Date_Réception+TAB+EXPRESS_Stock.Référence_Fournisseur+TAB+EXPRESS_Stock.Désignation_Fournisseur+TAB+EXPRESS_Stock.N_Lot+TAB+EXPRESS_Stock.Quantité_UC+TAB+EXPRESS_Stock.NB_UC+TAB+EXPRESS_Stock.Qté_UM+TAB+EXPRESS_Stock.N_UM+TAB+EXPRESS_Stock.Statut)
    HLitSuivant(EXPRESS_Stock,Référence_Fournisseur)
    FIN]

    Où je doit mettre cette boucle à 1

    Merci
    Totik

  4. #4
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 71
    Points : 62
    Points
    62
    Par défaut
    Bonjour

    J ai fais des recherches et j ai pu mettre le code suivant :

    [CODE]
    EcranVersFichier() // Transfère les valeurs contenues dans les champs de la fenêtre
    HAjoute(EXPRESS_Stock)
    i est un entier
    i = Stock.N°_UM
    POUR i = 1 A Stock.N°_UM
    EXPRESS_Appro.SAI_Référence_Fournisseur = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_Désignation_Fournisseur = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_Quantité_UC = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_NB_UC = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_Qté_UM = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_N_Lot = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_Statut = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_Date_Réception = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_N_UM = TableAjouteLigne(Stock,i)
    HAjoute(EXPRESS_Stock)
    RAZ(Vrai)// Efface les valeurs contenues dans les champs liés pour saisir un nouveau composant
    FIN
    afficheappro()

    Quanje clique sur le bouton ajouter : j ai deux lignes qui s ajoutent

    Comment récupérer la valeur que jai saisi dans SAI_N_UM et utiliser cette valeur comme paramétre de la variable de controle i afin d'ajouter automatiquement autant de ligne que "valeur" de SAI_N_UM


    Merci d avance

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 280
    Points : 12 974
    Points
    12 974
    Par défaut
    Bonjour,

    Citation Envoyé par Totik Voir le message
    Comment récupérer la valeur que jai saisi dans SAI_N_UM et utiliser cette valeur comme paramétre de la variable de controle i afin d'ajouter automatiquement autant de ligne que "valeur" de SAI_N_UM
    C'est TREEES compliqué:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    pour i = 1 a sai_num
    ... code ...
    fin
    Par contre
    Citation Envoyé par Totik Voir le message

    J ai fais des recherches et j ai pu mettre le code suivant :

    [CODE]
    EcranVersFichier() // Transfère les valeurs contenues dans les champs de la fenêtre
    HAjoute(EXPRESS_Stock)
    i est un entier
    i = Stock.N°_UM
    POUR i = 1 A Stock.N°_UM
    EXPRESS_Appro.SAI_Référence_Fournisseur = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_Désignation_Fournisseur = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_Quantité_UC = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_NB_UC = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_Qté_UM = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_N_Lot = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_Statut = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_Date_Réception = TableAjouteLigne(Stock,i)
    EXPRESS_Appro.SAI_N_UM = TableAjouteLigne(Stock,i)
    HAjoute(EXPRESS_Stock)
    RAZ(Vrai)// Efface les valeurs contenues dans les champs liés pour saisir un nouveau composant
    FIN
    afficheappro()

    Quanje clique sur le bouton ajouter : j ai deux lignes qui s ajoutent
    Je pense que tu devrais jeter un oeil à l'aide en ligne de TableAjouteLigne... voir suivre le guide d'auto-formation.

    Tatayo.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/10/2008, 15h31
  2. Classer des enregistrements dans une table Access
    Par midasios dans le forum VBA Access
    Réponses: 7
    Dernier message: 20/05/2008, 20h57
  3. dupliquer des enregistrements dans une nouvelle table
    Par CINQ_MARSIENNE dans le forum Modélisation
    Réponses: 3
    Dernier message: 15/09/2007, 00h31
  4. Réponses: 12
    Dernier message: 06/08/2007, 07h46
  5. [WD9] Cliquer sur des enregistrements dans une table
    Par oz80 dans le forum WinDev
    Réponses: 2
    Dernier message: 15/12/2005, 20h11

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