PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Probleme de copie pour tout avec liaison de table
Probleme de copie pour tout avec liaison de table
Débuté par papafred, 25 juin 2014 15:58 - 8 réponses
Membre enregistré
24 messages
Popularité : +2 (2 votes)
Posté le 25 juin 2014 - 15:58
Bonjour,

J'ai un problème de remplissage de fichier voici mon analyse :





Je veux remplir la table bdd_cumul_ecritures avec des informations provenant de deux tables avec une liaison :

POUR TOUT Table_Qcompta_Ecritures
BDD_Cumul_Ecritures.TypeCompte=Table_Qcompta_Comptes.Type
BDD_Cumul_Ecritures.Numerodossier=num_dossier
BDD_Cumul_Ecritures.Dossier_Compte=num_dossier + "_"+Table_Qcompta_Ecritures.NumeroCompte
BDD_Cumul_Ecritures.CompteSimple=Table_Qcompta_Ecritures.NumeroCompte
BDD_Cumul_Ecritures.IntituleEcriture=Table_Qcompta_Ecritures.Libelle
SI Table_Qcompta_Ecritures.JourEcriture=0 ALORS jour_da="1" SINON jour_da=Table_Qcompta_Ecritures.JourEcriture
dCalcul_date_da..Jour=jour_da
dCalcul_date_da..Mois=Table_Qcompta_Ecritures.PeriodeEcriture..Mois
dCalcul_date_da..Année=Table_Qcompta_Ecritures.PeriodeEcriture..Année
BDD_Cumul_Ecritures.DateEcriture=dCalcul_date_da
SI Table_Qcompta_Ecritures.TypeLigne="E" ALORS
BDD_Cumul_Ecritures.Debit=Table_Qcompta_Ecritures.MontantTenuDebit
BDD_Cumul_Ecritures.Credit=Table_Qcompta_Ecritures.MontantTenuCredit
SINON
SI Table_Qcompta_Ecritures.MontantTenuDebit=0 ALORS BDD_Cumul_Ecritures.Credit=Table_Qcompta_Ecritures.MontantAnaSINON BDD_Cumul_Ecritures.Debit=Table_Qcompta_Ecritures.MontantAna
FIN
HAjoute(BDD_Cumul_Ecritures)
FIN


Ma table se remplit parfaitement à part la colonne TypeCompte qui se remplit du même caractère sur toutes les lignes.

Une idée ?
Membre enregistré
939 messages
Popularité : +66 (68 votes)
Posté le 25 juin 2014 - 16:04
bonjour,

vous récupérez apparement la valeur d'une autre table... ( Table_Qcompta_Comptes ) alors que vous parcourez la table Table_Qcompta_Ecritures...

je pense que le 'loup' se situe à ce niveau :D
Membre enregistré
24 messages
Popularité : +2 (2 votes)
Posté le 25 juin 2014 - 16:06
Oui je sais mais les tables étant liés l'information est censé mettre retournée non ?

pour preuve le caractère qui se remplit sur toutes les lignes vient du bon champ Table_Qcompta_Comptes.Type
Membre enregistré
939 messages
Popularité : +66 (68 votes)
Posté le 25 juin 2014 - 16:29
ah non, enfin sauf erreur de ma pars, mais à l'intérieur du parcours de votre table Table_Qcompta_Ecritures Windev ne met pas à jour les enregistrements des fichiers en liaison avec celui que vous parcourez.... quel que soit les cardinalités...

il faudra se repositionner manuellement....
Membre enregistré
24 messages
Popularité : +2 (2 votes)
Posté le 25 juin 2014 - 16:36
Vous avez une alternative pour se repositionner manuellement alors ?
Membre enregistré
939 messages
Popularité : +66 (68 votes)
Posté le 25 juin 2014 - 16:45
avec ceci je pense :

HLitRecherche(Table_Qcompta_Comptes,Numero,Table_Qcompta_Ecritures.NumeroCompte)
Posté le 25 juin 2014 - 16:47
Bonjour

On 6/25/2014 8:06 AM, papafred wrote:
Oui je sais mais les tables étant liés l'information est censé mettre
retournée non ?


Absolument pas. Si tu parcours un fichier, tu parcours CE fichier et
rien d'autre.. Si tu parcours une requête qui travaille sur les deux
fichiers liés, alors la, oui, mais c'est la requête qui fait le boulot

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXShowroom.com est disponible : Montrez vos projets !
Plus d'information sur http://fabriceharari.com
Membre enregistré
939 messages
Popularité : +66 (68 votes)
Posté le 25 juin 2014 - 16:51
à placer comme ceci dans votre parcours...

POUR TOUT Table_Qcompta_Ecritures
SI Table_Qcompta_Comptes.Numero<>Table_QCompta_Comptes.NumeroCompte ALORS HLitRecherche(Table_Qcompta_Comptes,Numero,Table_Qcompta_Ecritures.NumeroCompte)
BDD_Cumul_Ecritures.TypeCompte=Table_Qcompta_Comptes.Type

//.............. votre code.....

FIN
Membre enregistré
939 messages
Popularité : +66 (68 votes)
Posté le 25 juin 2014 - 16:52
oups désolé mauvais copie/colle :

[code]
POUR TOUT Table_Qcompta_Ecritures
SI Table_Qcompta_Comptes.Numero<>Table_QCompta_Ecritures.NumeroCompte ALORS HLitRecherche(Table_Qcompta_Comptes,Numero,Table_Qcompta_Ecritures.NumeroCompte)
BDD_Cumul_Ecritures.TypeCompte=Table_Qcompta_Comptes.Type

//.............. votre code.....

FIN