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 :

Récupérer les infos d'un formulaire dans une table


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut Récupérer les infos d'un formulaire dans une table
    Bonsoir,

    Surement facile pour vous

    J'ai créé une fenêtre qui récupère (dans des combos) des données provenant de différentes tables : Une fois mes choix faits dans ces différents combos, j'aimerais insérer tout ça dans une nouvelle table existante.

    Tout est prêt, il me manque juste la technique magique qui me permettrait d'un clic sur le bouton "Enregistrer" de faire l'INSERT dans ma table.

    Merci pour votre aide

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    TableAjouteLigne() ou TableInsereLigne()
    Mais il faudrait en savoir plus sur ta Table pour te donner une réponse correcte.
    Par exemple : s'il s'agit d'une Table fichier, tu dois ajouter les données dans le fchier puis faire un "réfresh" de la Table.

  3. #3
    Inactif
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Vous avez déjà réussi à faire le plus difficile il vous reste maintenant l'opération la plus facile à faire. Je ne vois pas comment vous n'avez pas pensé à utiliser l'instruction la plus simple qui permet de transférer vos données des combos vers la table. De toute manière, il y a plusieurs manières d'exécuter ce genre d'opérations, mais je vais vous donner la plus simple:

    Si je comprends bien, vos données sont stockées dans des combos tels que: combo1, combo2, combo3 ... et que vous avez une table que j'appelle tout simplement Table. Supposons que votre table contient 3 colonnes et que chaque combo occupera une colonne. La solution est la suivante:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
          TableSupprimeTout(Table)
          i est un entier =1;j est un entier=1;k est un entier=1     
          WtextCol1 est une chaine=""
          WtextCol2 est une chaine=""
          WtextCol3 est une chaine=""
          CPasFini est un Booléen = Vrai    
     
          TantQue CPasFini   
                Si i<=ListeOccurence(Combo1) alors
                    WtextCol1 =ListeSelect(Combo1,i)
                Sinon 
                    WtextCol1 =""          
                Fin
     
                Si j<=ListeOccurence(Combo2) alors
                    WtextCol2 =ListeSelect(Combo2,j)
                Sinon 
                    WtextCol2 =""          
                Fin
     
                Si k<=ListeOccurence(Combo3) alors
                    WtextCol3 =ListeSelect(Combo3,k)
                Sinon 
                    WtextCol3 =""          
                Fin
     
                //Affichage d'une ligne Table
                TableAjouteLigne(Table,WtextCol1,WtextCol2,WtextCol3)
                i=i+1
                j=j+1
                k=k+1
     
                Si i>ListeOccurence(Combo1) et j>ListeOccurence(Combo2)
                   et k>ListeOccurence(Combo3) alors
                   CPasFini=Faux
                Fin          
     
          Fin
    Voilà, je ne sais pas si c'est ce que vous voulez mais cela devrait marcher même pour une structure différente de table et c'est valable pour n'importe quel type de combo.

    Mekkisoft

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Bonsoir,

    Merci pour vos réponses, je vais étudier tout ça. A première vue c'est exactement ce qu'il me faut.

    Mekkisoft tu as bien saisie ce que je recherchais et comme je viens juste de commencer WinDev ces jours-ci, je ne connais même pas les instructions les plus simples : Je commence mon apprentissage Windev. J'ai réussi facilement la première partie car j'ai déjà travaillé dans la programmation et BDD. Mais je n'ai que 2/3 heures à y consacrer par semaine.

    Passez un bon week-end et je vous donne des nouvelles dès que j'ai mis en pratiques vos précieux messages.

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    mekkisoft,

    ListeOccurence() est une fonction WinDev ? ....

    J'ai un message d'erreur :

    Identificateur 'ListeOccurence' inconnu ou inaccessible ici : pour accéder à un élément hors portée, utilisez une déclaration EXTERNE.
    Fiche_Film.Appliquer, Clic sur Fiche_Film.Appliquer, ligne 39, colonne 7

  6. #6
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Salut,
    vérifie ta syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // Nombre d'éléments présents dans la liste "ListeClient"
    ResNombreElément = ListeOccurrence(ListeClient)
    car la fonction existe bien. Au besoin tu peux consulter l'aide en ligne.
    A+

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Merci, c'était bien une erreur de syntaxe : ListeOccurrence() prend 2 R

  8. #8
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Rebonjour,

    Suite de mon sujet d'apprentissage :
    - J'ai mis ce bout de code mais l'INSERT ne se fait pas dans la table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ReqClient est une chaîne
     
    sMaReq est une chaîne
     
    sMaReq = "INSERT INTO Film (Titre, IDActeur, IDActeur2, IDActeur3, IDActeur4, IDProducteur, IDThème, IDThème2, IDAnnée, IDNotation, IDSupport) VALUES ({"
     
    sMaReq = sMaReq + Titre + "}, {" + COMBO_Fiche_Film_1 + "}, {" + COMBO_Fiche_Film_2 + "}, {" + COMBO_Fiche_Film_3 + "}, {" + COMBO_Fiche_Film_4 + "}, {" + COMBO_Fiche_Film_5
     
    sMaReq = sMaReq + "}, {" + COMBO_Fiche_Film_6 + "}, {" + COMBO_Fiche_Film_7 + "}, {" + COMBO_Fiche_Film_8 + "}, {" + COMBO_Fiche_Film_9 + "}, {" + COMBO_Fiche_Film_10 + "})"
     
    Info(sMaReq)
     
    HExécuteRequêteSQL(ReqClient, sMaReq)
    Est-ce que quelqu'un voit une anomalie ?

    Merci.


    [RAJOUT SUITE CLOTURE DU POST] A ceux qui lirons ce post par la suite : Ne pas tenir compte de la syntaxe de la requête

  9. #9
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Salut,
    Voici un exmple qui pourra t'aider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    lsdSource est une Source de Données
    lchSQL est une chaîne
    lchSQL="INSERT INTO Tbltest "
    lchSQL+="(Nom, Prenom, Adresse1, Adresse2,CodePostal,Ville) "
    lchSQL+="values ('Truc','Machin','Ma rue1','Ma rue2','69001','Lyon')"
    SI PAS HExécuteRequêteSQL(lsdSource,hRequêteDéfaut,lchSQL) ALORS
    	Info("erreur")
    SINON
    	Info("Insert ok")
    FIN
    HAnnuleDéclaration(lsdSource)
    A+

    ps : n'oublie pas de consulter l'aide

  10. #10
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Salut,

    J'ai trouvé grace à la gestion d'erreur, c'est juste un problème d'initialisation et de paramètres sur la fonction : HExécuteRequêteSQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    lsdSource est une Source de Données
    sMaReq est une chaîne
     
    sMaReq = "INSERT INTO ......................"
     
    Info(sMaReq)
     
    SI PAS HExécuteRequêteSQL(lsdSource,hRequêteDéfaut,sMaReq) ALORS
    	Info(ErreurInfo)
    SINON
    	Info("Insert ok")
    FIN
    DONC, la réponse à ce post est :
    - Documente toi sur la fonction HExécuteRequêteSQL
    - Insère une gestion d'erreur pour savoir qu'est-ce qu'il se passe lors de l'INSERT : Info(ErreurInfo)

    Merci à tous pour votre aide

    A+

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

Discussions similaires

  1. Récupérer les données d'un formulaire dans une servlet
    Par Rinel dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 27/12/2014, 11h49
  2. [MySQL] recuperer les données d'un formulaire dans une table
    Par chabeka dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/10/2008, 10h27
  3. Récupérer les champs d'un formulaire dans une jsp
    Par lalyly dans le forum Struts 1
    Réponses: 1
    Dernier message: 19/04/2007, 10h50
  4. Copier les valeurs d'un formulaire dans une table
    Par Cyphen dans le forum Access
    Réponses: 4
    Dernier message: 19/06/2006, 10h45
  5. Comment recuperer les info d'un formulaire dans une boite de dialogue
    Par frutix dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/05/2006, 11h42

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