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

WD Mise a jour d'un fichier de données a un autre

Discussion dans 'Windev' créé par Serrach, Juil 26, 2021.

  1. Serrach

    Serrach New Member

    Inscrit:
    Juil 26, 2021
    Messages:
    2
    J'aime reçus:
    0
    Bonjour,

    Voici ce que je n'arrive pas a réaliser jusqu'a maintenant
    J'ai 2 fichiers de données A et B disons, je souhaite que a chaque fois qu'il y'a une modification dans A, le fichier B ce met a jours, le B est une sorte de fichier de secours
    Voici le code

    enregistrementTrouve est un booléen
    HLitPremier(ClientA,IDClientA)
    TANTQUE HEnDehors(ClientA)=Faux
    HLitPremier(ClientB,IDClientB)

    TANTQUE HEnDehors(ClientB)=Faux OU enregistrementTrouve=Vrai

    SI ClientA.IDClientA = ClientB.IDClientB ALORS
    enregistrementTrouve=Vrai
    FIN
    HLitSuivant(ClientBr,IDClientB)
    FIN

    SI enregistrementTrouve=Faux ALORS

    ClientB.IDClientB=ClientA.IDClientA
    HCopieEnreg(ClientB,ClientA)
    HAjoute(ClientB)

    SINON
    enregistrementTrouve=Faux
    FIN

    HLitSuivant(ClientA,IDClientA)
    FIN



    Merci pour vos aides
     
    Tags:
  2. Dandypunk

    Dandypunk Well-Known Member

    Inscrit:
    Nov 28, 2019
    Messages:
    550
    J'aime reçus:
    302
    Bonjour,
    Regarde du côté des trigger. Un trigger "après" sur A et le tour est joué.
     
  3. Serrach

    Serrach New Member

    Inscrit:
    Juil 26, 2021
    Messages:
    2
    J'aime reçus:
    0
    C'est ce que j'avais comme idée tout au début, et je vois pas d'autre solution plus simple a mon niveau.
    Merci

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

     
  4. Dandypunk

    Dandypunk Well-Known Member

    Inscrit:
    Nov 28, 2019
    Messages:
    550
    J'aime reçus:
    302
    A ton niveau ou pas ...
    C'est une des utilisations les plus communes des triggers.
    Attention toutefois, en cas de suppression, il faut faire un trigger "avant", sinon, on ne retrouve plus le tuple supprimé.
    Il faut prendre soin de ne pas utiliser HEnregistre, windev n'aime pas trop quand il s'agit de trigger.
    A priori, un seul trigger sera nécessaire. En utilisant la variable d'état H.FonctionTrigger avec un "SELON ... CAS", tout passe en douceur.
    Attention aussi à cette partie de code :
    Code (Windev):

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

    (ClientB,ClientA)

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

    (ClientB)
    Cela ne passera que si la PK de ClientB n'est pas en IDAuto, sinon, il faut écrire un truc dans le genre :
    Code (Windev):

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

    (ClientB,ClientA,hCopieIdAuto)

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

    (ClientB,hFixeIdAuto)
     
    #4 Dandypunk, Juil 27, 2021
    Dernière édition: Juil 27, 2021

Partager cette page

Chargement...