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 :

Affectation simultanée des champs table mémoire vers table BD


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Novembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 37
    Points : 33
    Points
    33
    Par défaut Affectation simultanée des champs table mémoire vers table BD
    Bonjour tout le monde,
    je suis débutant dans le monde de WinDev, et je cherche un moyen ou une fonction pour affecter simultanément les valeurs de champs d'une table mémoire vers une table de la base de données.
    Pour être plus clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    tableBD.champs1 = tableMemoire.champs1 
    tableBD.champs2 = tableMemoire.champs3
    ...
    tableBD.champsN = tableMemoire.champsN
    hajoute(tableBD)
    Le gênant que le nombre de colonne dépasse parfois le 190 et avec une quarantaine de tables, je serai dans la boue

    À titre d'exemple en SAP on a la possibilité d'utiliser ( INTO CORRESPONDING)qui permet d'affecter les valeurs en même temps.

    et merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    Tu peux utiliser les indirections avec quelque chose de ce genre là :
    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
    sMaTableMemoire est une chaîne = "TableMem_Test"
    sMaTableBDD est une chaîne = "TableBDD1"
    sNomColonne est une chaîne
     
    HRAZ(sMaTableBDD)
    POUR nCol = 1 _A_ {sMaTableMemoire,indChamp}..NombreColonne
     
    	sNomColonne = TableEnumèreColonne(sMaTableMemoire, nCol)
     
    	// Affectation de la valeur de la colonne à la rubrique du fichier
    	QUAND EXCEPTION DANS
    		{sMaTableBDD + "." + sNomColonne,indRubrique} = {sMaTableMemoire + "." + sNomColonne,indChamp}
    	FAIRE
    		Trace(ExceptionInfo())			// ERREUR
    	FIN
     
    FIN
    HAjoute(sMaTableBDD)
    Attention dans cet exemple je considère :
    - que le nom des colonnes de la table mémoire correspond exactement au nom des colonnes de la table de la BDD
    - qu'on enregistre la ligne qui est sélectionnée dans la table mémoire, sinon il faut ajouter l'indice de la ligne {sMaTableMemoire + "." + sNomColonne,indChamp}[nIndiceLigne]

    Ce code est un exemple à adapter

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Novembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 37
    Points : 33
    Points
    33
    Par défaut
    Je vous remercie infiniment Mr Pascal, ça marche
    mais j'ai essayé avec les sources de données mais ça bug malgré que j'ai changé de indchamp à indRubrique

    Cordialement.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    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 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    "Ca bug", ça ne veut strictement rien dire.
    Donc sans nous montrer ton code ni l'erreur retournée, la seule réponse à "j'ai fait un truc mais ça bug" sera "Hé bien, débugue le truc !".

    Tatayo.

Discussions similaires

  1. Table mémoire vers fichier
    Par himan dans le forum WinDev
    Réponses: 1
    Dernier message: 04/11/2008, 10h28
  2. Update d'une table en fonction des champs d'une autre table
    Par The Molo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/02/2008, 15h41
  3. comment additionner des champs appartenant à la meme table
    Par VIRGINIE87 dans le forum Langage SQL
    Réponses: 25
    Dernier message: 12/04/2007, 14h40
  4. [W10] Table mémoire vers fichier
    Par gbrion dans le forum WinDev
    Réponses: 2
    Dernier message: 13/02/2007, 08h37
  5. Affectation sur un champ vide d'une table Access
    Par kurkaine dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/11/2005, 09h14

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