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 :

TableEnregistre sur une table remplit par une requête [WD15]


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 67
    Points : 36
    Points
    36
    Par défaut TableEnregistre sur une table remplit par une requête
    Bonjour,

    J'ai vu que l'on pouvait utiliser la fonction TableEnregistre sur une une table remplit par un fichier sans problème, en revanche je n'arrive pas à utiliser ce principe sur une table remplit à l'aide d'une requête interne.

    Pour informations, j'ai les fichiers suivants Article, Client et un Article_Client_Tarif qui permet de spécifier une remise personnalisée à un client sur un article.
    La table contient donc l'id de l'article, l'id du client et la remise pour faire simple.
    Toutefois, en utilisant TableEnregistre() mes modifications ne sont pas enregistrées.

    Auriez-vous une idée, une solution ?

    Merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour tux59,

    Si je comprends bien, tu utilises un champ table fichier basé sur une requête définie dans ton projet et qui porte sur des fichiers de données HyperFile...
    Correct ???

    Dans ce cas de figure, si tu ne fais pas explicitement appel à la fonction HExécuteRequête(), alors c'est l'exécutable WinDev qui y fait appel en spécifiant le mode d'exécution par défaut, à savoir hRequêteDéfaut.

    Si tu lis consciencieusement l'aide en ligne, tu verras que pour mettre à jour les données HyperFile récupérées par la requête, il faut l'exécuter avec le mode hModifieFichier.

    Aussi, tu dois explicitement exécuter la requête avec le mode hModifieFichier, par exemple à l'ouverture de la fenêtre.
    _

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 67
    Points : 36
    Points
    36
    Par défaut
    Salut,

    Merci pour ton aide, j'ai appelé dans l'après midi le support windev et ils m'ont donné la même astuce que toi, par contre la personne m'a dit que normalement avec une requête intégrée à la table ça devrait marcher, mais elle n'en était plus trop sûre et m'a conseillé vers l'autre méthode.

    Je remarque que windev fait quand même énormément de choses et qu'il est difficile de tout maitriser .

    Sinon le fait de faire un HExecuteRequete() et ensuite lier le contenu de la table à cette même requête, n'est-il pas gourmand en ressource dans le sens où la requête serait exécutée 2 fois par windev au final ? A moins qu'une optimisation soit faites automatiquement.

    merci

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Merci de nous donner ce retour d'information...
    Je n'avais pas compris que tu parlais d'une requête intégrée (tu avais écrit "requête interne" ).

    De plus, j'ai oublié de prendre une précaution: te faire préciser quel est le type de requête sélection.
    Par exemple, une requête de regroupement (agrégat) ne permet pas la mise à jour. Et aussi certaines jointures la supporte mal...

    Citation Envoyé par tux59 Voir le message

    [...] par contre la personne m'a dit que normalement avec une requête intégrée à la table ça devrait marcher, mais elle n'en était plus trop sûre et m'a conseillé vers l'autre méthode.
    Mais on croit rêver en lisant ton compte-rendu:
    « la personne ... n'en était pas trop sûre »
    C'était qui ? Un stagiaire j'imagine... ... ou alors c'est grave pour une personne du support de ne pas connaître la réponse !

    Citation Envoyé par tux59 Voir le message

    Sinon le fait de faire un HExecuteRequete() et ensuite lier le contenu de la table à cette même requête, n'est-il pas gourmand en ressource dans le sens où la requête serait exécutée 2 fois par windev au final ? A moins qu'une optimisation soit faites automatiquement.
    De toute façon, la requête ne sera exécutée qu'une seule fois.

    Tu vas utiliser une requête définie dans ton projet ?
    Dans ce cas, il est plus simple de désigner cette requête comme "source fichier" (synonyme de FichierParcouru) dans la fenêtre Description du champ table, dans l'onglet Contenu.

    Mais je crois que tu peux quand même utiliser une requête intégrée et forcée son exécution comme ceci (à vérifier):
    Code WLangage : Sélectionner tout - Visualiser dans une fenêtre à part
    HExécuteRequête(MonChampTable..Fichierparcouru,hModifieFichier)

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 67
    Points : 36
    Points
    36
    Par défaut
    Salut,

    Désolé de ne pas être venu te remercié plus tôt, mais j'ai eu des obligations.

    Ton aide m'a permis d'avancer .

    Sinon pour le support, c'est effectivement la réponse que j'avais eu, mais bon au final c'est résolu.

    Merci à toi

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

Discussions similaires

  1. Update sur deux table relié par une clé étrangère.
    Par labib23dz dans le forum Développement
    Réponses: 5
    Dernier message: 18/04/2019, 11h40
  2. Update sur 2 tables liées par une FK
    Par enstein8 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/05/2012, 13h10
  3. Réponses: 6
    Dernier message: 20/01/2012, 09h58
  4. Réponses: 4
    Dernier message: 24/07/2007, 12h12
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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