1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

AIDE ConstruitTableFichier avec un paramètre

Discussion dans 'Windev' créé par Razorte, Oct 12, 2018.

  1. Razorte

    Razorte Member

    Inscrit:
    Mai 11, 2018
    Messages:
    49
    J'aime reçus:
    50
    Bonjour,
    Pour une de mes tache je remplis le nom de mes tables avec la fonction "ConstruitTableFichier", cela fonctionnais niquel, jusqu’à que je rajoute un paramètre dans ma requête SQL.
    Maintenant j'ai un message d’erreur et je n'arrive pas a le résoudre, si quelqu'un a une idée je suis preneur. :)

    La requête <Req_SortieParRefColTaille> n'a pas été exécutée automatiquement. Aucun paramètre n'a été défini pour cette requête. Pour une première exécution automatique de requête paramétrée associée à un champ table, vous devez définir la valeur d'un paramètre.

    Code (Text):

    {:req+".Saison_Encours",indParamètreRequête} = Saison_EncoursLog

    SI HExécuteRequête(:req,hRequêteSansCorrectionHF+hRequêteInterruptible) ALORS
        ConstruitTableFichier(:tab_init,:req,taAvecIdAuto+taAvecBinaire)
        POUR TOUT :req
            TableAjoute(:tab_init, HRécupèreEnregistrement(:req))
        FIN
    SINON
        VersJournal("ERREUR","Erreur lors de l'exécution de la requête SQL " + :req + HErreurInfo())
        RENVOYER Faux
    FIN
    HLibère(:req)
    RENVOYER Vrai
     
     
  2. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    648
    J'aime reçus:
    227

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , tu dois éxecuter ta requête avec d'appeler si tu as des paramètres de préférences.
     
    Razorte apprécie ceci.
  3. Razorte

    Razorte Member

    Inscrit:
    Mai 11, 2018
    Messages:
    49
    J'aime reçus:
    50
    Pourrais tu être plus clair

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , s'il te plaît. Je dois faire le HExécuteRequête avant d'ajouter mon paramètre ?
     
  4. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    648
    J'aime reçus:
    227

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Pourrais tu être plus clair

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , s'il te plaît. Je dois faire le HExécuteRequête avant d'ajouter mon paramètre ?
    Cliquez pour agrandir...
    Par exemple
    reque.param=xxx
    hexecuterequete(reque)
    contsruitatblefichier....
     
  • Razorte

    Razorte Member

    Inscrit:
    Mai 11, 2018
    Messages:
    49
    J'aime reçus:
    50

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour,
    Pour une de mes tache je remplis le nom de mes tables avec la fonction "ConstruitTableFichier", cela fonctionnais niquel, jusqu’à que je rajoute un paramètre dans ma requête SQL.
    Maintenant j'ai un message d’erreur et je n'arrive pas a le résoudre, si quelqu'un a une idée je suis preneur. :)

    La requête <Req_SortieParRefColTaille> n'a pas été exécutée automatiquement. Aucun paramètre n'a été défini pour cette requête. Pour une première exécution automatique de requête paramétrée associée à un champ table, vous devez définir la valeur d'un paramètre.

    Code (Text):

    {:req+".Saison_Encours",indParamètreRequête} = Saison_EncoursLog

    SI HExécuteRequête(:req,hRequêteSansCorrectionHF+hRequêteInterruptible) ALORS
        ConstruitTableFichier(:tab_init,:req,taAvecIdAuto+taAvecBinaire)
        POUR TOUT :req
            TableAjoute(:tab_init, HRécupèreEnregistrement(:req))
        FIN
    SINON
        VersJournal("ERREUR","Erreur lors de l'exécution de la requête SQL " + :req + HErreurInfo())
        RENVOYER Faux
    FIN
    HLibère(:req)
    RENVOYER Vrai
     
    Cliquez pour agrandir...
    C'est exactement ce que j'ai fait, regarde j'ai mis mon code dans le spoiler "Code". C'est pour ça que je ne comprend pas pourquoi j'ai cette erreur.
     
  • Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    :
    Dans l'initialisation de ta table ajoute :
    MaSource.pMonParametre = 'MaValeur'

    Ca devrait peut être fonctionner.
     
  • Razorte

    Razorte Member

    Inscrit:
    Mai 11, 2018
    Messages:
    49
    J'aime reçus:
    50

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    non sa ne fonctionne pas :/ Je pense que sa ne dois pas être possible avec la 23 de windev, dommage ...
     
  • Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    Çà ne fonctionne pas : Tu as toujours le MEME message d'erreur ? :
    Code (Text):

    La requête <Req_SortieParRefColTaille> n'a pas été exécutée automatiquement. Aucun paramètre n'a été défini pour cette requête. Pour une première exécution automatique de requête paramétrée associée à un champ table, vous devez définir la valeur d'un paramètre.
     
     
  • Razorte

    Razorte Member

    Inscrit:
    Mai 11, 2018
    Messages:
    49
    J'aime reçus:
    50
    Oui j'ai toujours le même message d'erreur.
     
  • Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    Sinon, est tu sur de ta syntaxe :
    {:req+".Saison_Encours",indParamètreRequête} = Saison_EncoursLog
    ?
     
  • Razorte

    Razorte Member

    Inscrit:
    Mai 11, 2018
    Messages:
    49
    J'aime reçus:
    50
    Oui car si je ne met pas le "ConstruitTableFichier:)tab_init,:req,taAvecIdAuto+taAvecBinaire+taGardeCléParcours)" tous ce passe comme il faut, avec les bon résultats.
     
  • Kelard

    Kelard Active Member
    MEMBRE WX

    Inscrit:
    Avr 6, 2018
    Messages:
    103
    J'aime reçus:
    134
    Essaye plutôt avec HExécuteRequêteSQL!
     
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    648
    J'aime reçus:
    227
    Bonsoir,
    Je pense que tu vas finir par mettre la fenetre ici telle qu'elle est.
     
  • Razorte

    Razorte Member

    Inscrit:
    Mai 11, 2018
    Messages:
    49
    J'aime reçus:
    50

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    le HExécuteRequêteSQL ne fonctionne pas, avec ou sans paramètre.
    Code (Text):

    Erreur dans le code SQL de la requête <REQ_StockParRefColTaille>. Initialisation de la requête impossible.

     
    le code en image
    [​IMG]
     
  • Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    Franchement j'ai de sérieux doutes sur la syntaxe :
    {:req+".Saison_Encours",indParamètreRequête} = Saison_EncoursLog

    De quel type est ta variable :req ?
    C'est une chaine, qui contient le nom d'une requete ?
     
  • Razorte

    Razorte Member

    Inscrit:
    Mai 11, 2018
    Messages:
    49
    J'aime reçus:
    50
    Oui c'est une chaîne qui contient le nom de ma variable, après si j'enlève le ConstruiTableFichier, tous fonctionnent bien et le paramètre est bien appliqué.
     
  • joker

    joker New Member
    MEMBRE WX

    Inscrit:
    Jan 30, 2018
    Messages:
    0
    J'aime reçus:
    13

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Oui c'est une chaîne qui contient le nom de ma variable, après si j'enlève le ConstruiTableFichier, tous fonctionnent bien et le paramètre est bien appliqué.
    Cliquez pour agrandir...
    :)

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Une réflexion :
    - si le résultat de ta requête ne présente pas de problème sans ConstruitTableFichier(),
    c'est qu'il y a possiblement une erreur lors de la création du nom de la colonne de la table, par exemple.
    Il peut également y avoir un résultat "vide" que ConstruitTableFichier() ne supporte pas !
    Un nomage automatique de colonne en double ...
    ... ETC ...

    Fais tu une table fichier ? une table mémoire ?
    As tu testé différentes "constantes" de ConstruitTableFichier() ?

    Tu pourrais tenter un test de remplissage de table "à la main", voire avec un "trace() pour trouver ou ça coince ;)


    ConstruitTableFichier(Fonction) =>

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    :)
     
    WX1331 et LAPIPE2018 aiment ça.
  • channibal

    channibal Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 22, 2018
    Messages:
    210
    J'aime reçus:
    277
    Bonjour,

    Dsl pour le retard et l'absence! Boulot trop stressant! :(

    Je crois que ton problème c'est la libération prématurée de la requête.

    Vu que le remplissage de la table par la fonction ConstruitTableFichier() est réalisé dans un processus parallèle en arrière-plan et que la source de données est une requête alors il ne faut pas libérer cette requête trop tôt.

    Ajoute une temporisation ou une multitâche() avant la libération de la requête pour voir

    Bon Dev.
     
  • Partager cette page

    Chargement...