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 Problème de rafraîchissement de table fichier

Discussion dans 'Windev' créé par Kobex, Juil 27, 2018.

  1. Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257
    Le désolé, je suis sans cheveux, je vais me coucher et demain je recode différemment car j'en ai marre....

    Merci à tous pour votre aide
     
  2. channibal

    channibal Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 22, 2018
    Messages:
    210
    J'aime reçus:
    277
    Ah Bon!! c'est une table vide que tu veux alors !!!!!!!!!???????????????? :D

    bah dans ce cas il suffit de lancer la requête avec un indice négatif par exemple :

    Code (Text):
    RAZ(Vrai)

    HExécuteRequête(REQ_Contacts,hRequêteDéfaut,-1)

    TableAffiche(TABLE_Contacts)
     
  3. channibal

    channibal Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 22, 2018
    Messages:
    210
    J'aime reçus:
    277
    sinon, si tu change le fichier parcouru par programmation il faut passer par un

    TABLE_Contacts..FichierParcouru = ""

    puis

    TABLE_Contacts..FichierParcouru = Contact
     
  4. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,971
    J'aime reçus:
    1,579

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

    Code (Text):
    TABLE_Contacts..FichierParcouru = Contact
    TableAffiche(TABLE_Contacts,taInit)
    Mais cela me fait un tableau vide...
    Cliquez pour agrandir...
    dans ce cas il se mélange les pinceau.
    il ne faut plus passé par une table fichier mais par une table remplit par programmation
    tu fais des pour tout aussi bien pour les requête que les fichiers.
     
  • Fouedusa

    Fouedusa Active Member

    Inscrit:
    Avr 22, 2018
    Messages:
    141
    J'aime reçus:
    120
    Re;
    Je pense que tu dois expliquer plus pour qu'on puisse comprendre.
    La table est reliée à quel fichier ? et quelles sont ses colonnes ? quelle est sa clé de parcours ?
    La combo contient quoi exactement ?
    La requête pour remplir la table ou la combo ??
    Où réalise-tu le filtre ?
    Quel est le résultat voulu ?

    Si c'est possible des images.

    Bon Dev.
     
    #25 Fouedusa, Juil 27, 2018
    Dernière édition: Juil 27, 2018
  • Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257

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

    Re;
    Je pense que tu dois expliquer plus pour qu'on puisse comprendre.
    La table est reliée à quel fichier ? et quelles sont ses colonnes ? quelle est sa clé de parcours ?
    La combo contient quoi exactement ?
    La requête pour remplir la table ou la combo ??
    Où réalise-tu le filtre ?
    Quel est le résultat voulu ?

    Si c'est possible des images.

    Bon Dev.
    Cliquez pour agrandir...
    Dans le code de la combo j'ai que cela :

    Code (Text):
    nIDGroupe est un entier = COMBO_Groupes.COL_ID

    SI HExécuteRequête(REQ_Contacts,hRequêteDéfaut,nIDGroupe) ALORS
            TABLE_Contacts..FichierParcouru = REQ_Contacts
    FIN
    et la table est lié par un fichier HFSQL

    dans le code du bouton pour reseter l'affichage de la table pour ré afficher tous les contactes :

    Code (Text):
    RAZ(Vrai)

    TableAffiche(TABLE_Contacts,taRéExécuteRequete)
    Aucun code supplémentaire....
     
  • Fouedusa

    Fouedusa Active Member

    Inscrit:
    Avr 22, 2018
    Messages:
    141
    J'aime reçus:
    120
    Comment est alimentée la combo ? par programmation ou fichier ? elle a combien de colonnes ?
    code de la requête ?
     
  • Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257

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

    Comment est alimentée la combo ? par programmation ou fichier ? elle a combien de colonnes ?
    code de la requête ?
    Cliquez pour agrandir...
    La combo est remplie par un fichier également, mai c'est la table qui déconne, la combo fonctionne très bien....
     
  • Fouedusa

    Fouedusa Active Member

    Inscrit:
    Avr 22, 2018
    Messages:
    141
    J'aime reçus:
    120
    - La table doit être une table mémoire

    Dans le code du bouton reset :

    - Raz(vrai) =======>ne fait rien sur les tables et combo et ....
    - essaye tablesupprimetout pour vider la table
    - fichier parcourus HFSQL
    - tableaffiche

    Bon Dev.
     
  • channibal

    channibal Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 22, 2018
    Messages:
    210
    J'aime reçus:
    277
    Pourquoi utiliser le :
    TABLE_Contacts..FichierParcouru = REQ_Contacts !!??

    Pourquoi ne pas utiliser directement la requête comme source d’alimentation de la table?
     
  • Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257

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

    Pourquoi utiliser le :
    TABLE_Contacts..FichierParcouru = REQ_Contacts !!??

    Pourquoi ne pas utiliser directement la requête comme source d’alimentation de la table?
    Cliquez pour agrandir...
    Tous simplement parce que la table est alimenté sans jointure et que la requête REQ_Contacts est une requête avec jointure et where.
     
  • channibal

    channibal Well-Known Member
    MEMBRE WX

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

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

    Tous simplement parce que la table est alimenté sans jointure et que la requête REQ_Contacts est une requête avec jointure et where.
    Cliquez pour agrandir...
    Et alors!!! Tous nos requêtes sont avec des jointures et des conditions! Je ne vois toujours pas où est le problème !!
     
    #32 channibal, Juil 28, 2018
    Dernière édition: Juil 28, 2018
  • Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257

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

    Et alors!!! Tous nos requêtes sont avec des jointures et des conditions! Je ne vois toujours pas où est le problème !!
    Cliquez pour agrandir...
    Encore une fois, la table est alimenté directement par un fichier Contacts HFSQL
     
  • channibal

    channibal Well-Known Member
    MEMBRE WX

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

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

    Encore une fois, la table est alimenté directement par un fichier Contacts HFSQL
    Cliquez pour agrandir...
    Donc :

    1 - Une table déclarée dans la fenêtre avec comme source de données un fichier Contacts.
    2 - A l'ouverture de la fenêtre la table s'initialise, le fichier de donnée parcouru et la table s'affiche avec tous les données.
    3 - Tu sélectionne un critère dans une combo qui exécute une requête avec comme paramètre un ID qui se trouve dans le fichier Contacts
    4 - Tu change la source d'alimentation de ta table pour l'affecter a la requête : les résultats attendues s'affichent dans la table ~=?
    5 - Pour afficher toutes les données à nouveau, sans prendre compte de critère dans la combo, t'utilise un bouton Reset pour réaffecter de nouveau le parcours au fichier de données Contacts!! (la tu peux juste annuler le critère de la requête avec un valeur NULL pour avoir le même résultat dans la table)

    sinon, voici un exemple de ce que j'utilise dans mon cas (avec une zone-répétée mais c'est la même chose avec une table):

    Code (Text):
    nIdUtil est un entier
    SI SAI_Mots_clés_intitulé_objet = Null  ALORS
        SELON COMBO_Afficher
            CAS 1
                nIdUtil = Null
                HExécuteRequête(REQ_RechercheConsultation,hRequêteDéfaut,Null,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure)
            CAS 2
                nIdUtil = gnIdUtilisateur
                HExécuteRequête(REQ_RechercheConsultation,hRequêteDéfaut,nIdUtil,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure)
            CAS 3
                nIdUtil = COMBO_utilisateur
                HExécuteRequête(REQ_RechercheConsultation,hRequêteDéfaut,nIdUtil,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure)
             
            AUTRE CAS
             
        FIN
        ZR_REQ_RechercheConsultation..FichierParcouru = ""
        ZR_REQ_RechercheConsultation..FichierParcouru = "REQ_RechercheConsultation"
    SINON
     
        SELON COMBO_Afficher
            CAS 1
                nIdUtil = Null
                HExécuteRequête(REQ_RechercheConsultation_Ritch,hRequêteDéfaut,Null,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure,SAI_Mots_clés_intitulé_objet)
            CAS 2
                nIdUtil = gnIdUtilisateur
                HExécuteRequête(REQ_RechercheConsultation_Ritch,hRequêteDéfaut,nIdUtil,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure,SAI_Mots_clés_intitulé_objet)
            CAS 3
                nIdUtil = COMBO_utilisateur
                HExécuteRequête(REQ_RechercheConsultation_Ritch,hRequêteDéfaut,nIdUtil,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure,SAI_Mots_clés_intitulé_objet)
             
             
            AUTRE CAS
             
        FIN
        ZR_REQ_RechercheConsultation..FichierParcouru = ""
        ZR_REQ_RechercheConsultation..FichierParcouru = "REQ_RechercheConsultation_Ritch"

    FIN

    ZoneRépétéeAffiche(ZR_REQ_RechercheConsultation)
    LIB_Resultat_rech_Tous = ChaîneConstruit("%1 Résultats",ZoneRépétéeOccurrence(ZR_REQ_RechercheConsultation))
     
     
    Kobex apprécie ceci.
  • Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257

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

    Donc :

    1 - Une table déclarée dans la fenêtre avec comme source de données un fichier Contacts.
    2 - A l'ouverture de la fenêtre la table s'initialise, le fichier de donnée parcouru et la table s'affiche avec tous les données.
    3 - Tu sélectionne un critère dans une combo qui exécute une requête avec comme paramètre un ID qui se trouve dans le fichier Contacts
    4 - Tu change la source d'alimentation de ta table pour l'affecter a la requête : les résultats attendues s'affichent dans la table ~=?
    5 - Pour afficher toutes les données à nouveau, sans prendre compte de critère dans la combo, t'utilise un bouton Reset pour réaffecter de nouveau le parcours au fichier de données Contacts!! (la tu peux juste annuler le critère de la requête avec un valeur NULL pour avoir le même résultat dans la table)

    sinon, voici un exemple de ce que j'utilise dans mon cas (avec une zone-répétée mais c'est la même chose avec une table):

    Code (Text):
    nIdUtil est un entier
    SI SAI_Mots_clés_intitulé_objet = Null  ALORS
        SELON COMBO_Afficher
            CAS 1
                nIdUtil = Null
                HExécuteRequête(REQ_RechercheConsultation,hRequêteDéfaut,Null,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure)
            CAS 2
                nIdUtil = gnIdUtilisateur
                HExécuteRequête(REQ_RechercheConsultation,hRequêteDéfaut,nIdUtil,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure)
            CAS 3
                nIdUtil = COMBO_utilisateur
                HExécuteRequête(REQ_RechercheConsultation,hRequêteDéfaut,nIdUtil,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure)
           
            AUTRE CAS
           
        FIN
        ZR_REQ_RechercheConsultation..FichierParcouru = ""
        ZR_REQ_RechercheConsultation..FichierParcouru = "REQ_RechercheConsultation"
    SINON
     
        SELON COMBO_Afficher
            CAS 1
                nIdUtil = Null
                HExécuteRequête(REQ_RechercheConsultation_Ritch,hRequêteDéfaut,Null,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure,SAI_Mots_clés_intitulé_objet)
            CAS 2
                nIdUtil = gnIdUtilisateur
                HExécuteRequête(REQ_RechercheConsultation_Ritch,hRequêteDéfaut,nIdUtil,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure,SAI_Mots_clés_intitulé_objet)
            CAS 3
                nIdUtil = COMBO_utilisateur
                HExécuteRequête(REQ_RechercheConsultation_Ritch,hRequêteDéfaut,nIdUtil,SAI_Numero_consultation,COMBO_F_ref_pouvoir_adjudicateur,COMBO_F_ref_direction_service,COMBO_F_ref_statut,...
                SC_SélectionPériode.SAI_DateDébut,SC_SélectionPériode.SAI_DateFin,COMBO_F_ref_procedure,SAI_Mots_clés_intitulé_objet)
           
           
            AUTRE CAS
           
        FIN
        ZR_REQ_RechercheConsultation..FichierParcouru = ""
        ZR_REQ_RechercheConsultation..FichierParcouru = "REQ_RechercheConsultation_Ritch"

    FIN

    ZoneRépétéeAffiche(ZR_REQ_RechercheConsultation)
    LIB_Resultat_rech_Tous = ChaîneConstruit("%1 Résultats",ZoneRépétéeOccurrence(ZR_REQ_RechercheConsultation))
     
    Cliquez pour agrandir...
    Je te remercie énormément, car ton explication ma donnée la raison du pourquoi cela ne fonctionne pas.

    Quand on utilise une table alimenté par un fichier et que on change la source par une requête, il n'est pas possible de revenir en arrière, sauf via une requête...
    De ce fait, j'alimente la table par la requête que je viens de créer et dans mon bouton reset, je change FichierParcouru par la requête que je viens de créer.

    Cette fois tous fonctionne, je pense que pcmou à une lacune la dessus....

    Bon dev et au plaisir ;)
     
  • Fouedusa

    Fouedusa Active Member

    Inscrit:
    Avr 22, 2018
    Messages:
    141
    J'aime reçus:
    120
    Bonjour;
    J'ai reproduit l'exemple :
    Voila le résultat

    à l’exécution :

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



    Choisir Homme dans la combo :

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



    Choisir Femme dans la combo :

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



    Clic sur Bouton Reset :

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



    Maintenant le code de PcSoft :

    Code initialisation de la fenêtre :
    Code (Text):
    PROCEDURE MaFenêtre()

    nIDGroupe est un entier = -1
     
    Code Sélection d'une ligne de combo
    Code (Text):
    nIDGroupe = COMBO_Sexe

    SI HExécuteRequête(REQ_Employe_Par_Sexe,hRequêteDéfaut,nIDGroupe) ALORS
        TABLE_Employe..FichierParcouru = REQ_Employe_Par_Sexe
    FIN
     
    Code Clic sur BTN_Reset
    Code (Text):
    TABLE_Employe..FichierParcouru = Employe
     
    Bon Dev.

    Edit :
    J'ai oublier de mettre de code de la requête

    Code de la requête :
    Code (Text):

    SELECT
       Employe.Matricule AS Matricule,  
       Employe.PrenomFr AS PrenomFr,  
       Employe.Sexe AS Sexe
    FROM
       Employe
    WHERE
       Employe.Sexe = {P_Sexe}
     
     
    #36 Fouedusa, Juil 28, 2018
    Dernière édition: Juil 28, 2018
    channibal apprécie ceci.
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

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

    Bien le bonjour,

    J'ai une table fichier qui fonctionne parfaitement bien à l'ouverture de la fenêtre.

    J'ai une combo qui quand je sélectionne un élément, elle filtre dans le tableau, jusque la, incroyable cela fonctionne :D

    J'ai ajouté un bouton "reset" qui vide la combo et réactualise le tableau, problème le tableau ne réaffiche jamais la totalité

    Voici le code du bouton

    Code (Text):

    RAZ(Vrai)

    TableAffiche(TABLE_Contacts,taRéExécuteRequete)
     
    Avez-vous une idée ?
    Cliquez pour agrandir...

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

    quand je lis bien ta table affiche normalement puis tu ajoutes un combo qui te permet de filtrer les éléments du tableau en sélectionnant un élément du combo
    première remarque ta table n'est plus liée à un fichier mais à une requête paramétrée
    et quand ajoute le bouton ""reset"" il y a plus rien
    Moi je te suggère d'utiliser les conditions au niveau de ton combo
    Exple
    1 si combo..valeurAffichée = "Choisir" alors
    tu listes tableau via une requête non paramétrée
    sinon
    tu utilises ta requête paramétrée
    de tel sorte que quand tu appuies sur reset ton combo reprend la valeur..initiale = "Chosir"
    reprendre la condition 1
    J'ai essayé à mon niveau
    NB : pour ce genre de manip ne lie table à un fichier faut la remplir par programmation c'est plus efficace dans la manipulation
     
    joker apprécie ceci.
  • Partager cette page

    Chargement...