| |
Miembro registrado 74 mensajes |
|
| Publicado el 05,noviembre 2018 - 13:56 |
bonjour a tous,
voila ma question,
voila mon soucis
je créer un logiciel de gestion et je dois calculer le temps des formateur en fonction de leurs statut (titulaire, vacataire, sous traitant, lorsque j'ajoute une ligne a ma base et a l'affichage de cette nouvelle ligne j'aimerai qu'un calcule sa fasse et s'affiche dans un champ en fonction
voici mon code qui m'affiche bien ce que je veut mais ne le fait qu'une seul fois si mon champ cible contiens déjà quelque chose il ne fait rien
SI TABLE_ensgene.COL_Statutformateur ="Permanent Greta" ALORS FIN
SI TABLE_ensgene.COL_Statutformateur ="Vacataire Titulaire" ALORS SAI_titulaire = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2 FIN
SI TABLE_ensgene.COL_Statutformateur ="Vacataire Non Titulaire" ALORS SAI_Vacataire = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2 FIN
SI TABLE_ensgene.COL_Statutformateur ="Sous-traitant tarif vacataire" ALORS SAI_sous_traitant = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2 FIN
SI TABLE_ensgene1.COL_Statutformateur ="Permanent Greta" ALORS FIN
SI TABLE_ensgene1.COL_Statutformateur ="Vacataire Titulaire" ALORS SAI_titulaire = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2 FIN
SI TABLE_ensgene1.COL_Statutformateur ="Vacataire Non Titulaire" ALORS SAI_Vacataire = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2 FIN
SI TABLE_ensgene1.COL_Statutformateur ="Sous-traitant tarif vacataire" ALORS SAI_sous_traitant = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2 FIN
si quelqu'un voie ou sa bug merci de m'aider
a bientot
Ludo |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 81 mensajes |
|
| Publicado el 05,noviembre 2018 - 14:35 |
Bonjour
déjà pour la lisibilité passe tous tes "si" en selon :
Selon TABLE_ensgene.COL_Statutformateur cas "Permanent Greta"
CAS "Vacataire Titulaire" SAI_titulaire = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2
cas "Vacataire Non Titulaire" SAI_Vacataire = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2
CAS "Sous-traitant tarif vacataire" SAI_sous_traitant = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2
CAS "Permanent Greta"
CAS "Vacataire Titulaire" SAI_titulaire = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2
CAS "Vacataire Non Titulaire" SAI_Vacataire = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2
CAS "Sous-traitant tarif vacataire" SAI_sous_traitant = TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2
FIN
bon ensuite,
ça serait pas plutot des += qu'il faut ?
exemple : SAI_sous_traitant += TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1+TABLE_ensgene.COL_Heures_d_Enseignement_N_2+TABLE_ensgene1.COL_Heures_d_Enseignement_N+TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+TABLE_ensgene1.COL_Heures_d_Enseignement_N_2
ça tu peux le mettre dans le code d'affichage d'une ligne de la table.
sinon, commennt est rempli ta table ?
table liée au fichier ?
table remplie par programmation (tableajoute ou tableajouteligne) ?
etc... |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 74 mensajes |
|
| Publicado el 05,noviembre 2018 - 14:51 |
bonjour Cdm98
pour commencer merci pour ton aide
j'ai modifier mon code selon tes recommandations mais ce n'est toujours pas bon par exemple j'ajoute 2 ligne de Vacataire Titulaire un pour une durée de 10h et une deuxième ligne avec 20 heures et le résultat est 40 sauf erreur de mon cerveau le résultat correct est 30 je ne comprend pas tous
pour ce qui est du remplissage de ma table il se fait a partir d'une requette donc liée a un fichier
merci encore pour ton aide
a bientôt ludo |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 81 mensajes |
|
| Publicado el 05,noviembre 2018 - 15:23 |
bon je recommence .. ;j'avais fait grand texte et plantage.. bon.
tu as une table liée à une requete, ce n'est donc pas remplissage par programmation. dans le code de la table, section "Sélection d'une ligne de TABLE_ensgene" tu as un truc du genre :
Selon TABLE_ensgene.COL_Statutformateur cas "Permanent Greta"
CAS "Vacataire Titulaire" //je coupe pour lisibilité pour l'exemple... SAI_titulaire += TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1
fin
ça ça doit fonctionner.
donc mets une trace pour voir ce que ça te renvoit :
Selon TABLE_ensgene.COL_Statutformateur cas "Permanent Greta"
CAS "Vacataire Titulaire" trace(TABLE_ensgene.COL_Heures_d_Enseignement_N,TABLE_ensgene.COL_Heures_d_Enseignement_N_1,ABLE_ensgene.COL_Heures_d_Enseignement_N_2) SAI_titulaire += TABLE_ensgene.COL_Heures_d_Enseignement_N+TABLE_ensgene.COL_Heures_d_Enseignement_N_1
//....
fin
perso je prefere remplir mes tables par programmation comme ça je mets une jauge de progression etc...
genre
nblu est un entier =0 nbenreg est un entier = 0
hexecuretesql(lres,hrequedefaut,lreq) nbenreg = hnbenr(lres)
pour tout lres nblu++ jauge(nblu,nbenreg,"remplissage en cours",vertpastel) nlig = tableajouteligne(matable,lres.zone1,lres.zone2....)
sai_total += res.zone1+lres.zone2
//ici tu peux mettre ton selon ....
fin |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 74 mensajes |
|
| Publicado el 05,noviembre 2018 - 15:31 |
je vais essayer je reviens vers toi merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 81 mensajes |
|
| Publicado el 05,noviembre 2018 - 15:41 |
dis moi je viens de voir un truc : TABLE_ensgene.COL_Heures_d_Enseignement_N+ TABLE_ensgene.COL_Heures_d_Enseignement_N_1+ TABLE_ensgene.COL_Heures_d_Enseignement_N_2+ TABLE_ensgene1.COL_Heures_d_Enseignement_N+ TABLE_ensgene1.COL_Heures_d_Enseignement_N_1+ TABLE_ensgene1.COL_Heures_d_Enseignement_N_2
c'est quoi cette TABLE_ensgene1 ????? |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 74 mensajes |
|
| Publicado el 05,noviembre 2018 - 15:48 |
c'est une deuxième table mais le principe sera le même
pour tester ta procedure, j'ai supprimer tous ce qui concerne la table ensegene1
quand je test deux ligne vacataire titulaire de chacun 10heure voila ce qu'il me met
10 10 10
normalement je devrait avoir un resultat a 20 et il me compte 30 tu vois d'ou cela pourrait venir |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 81 mensajes |
|
| Publicado el 05,noviembre 2018 - 16:00 |
ben il passe trois fois à 10 non ? ça fait bien 30 ? tu dois avoir 3 lignes "Vacataire Titulaire"
mais de toute façon le code avec la TABLE_ensgene1 ça ne peut pas etre bon.
quand il affiche la ligne de TABLE_ensgene comment peut il savoir de quelle ligne de la TABLE_ensgene1 il s'agit pour aller chercher les infos ?
cdm98@free.fr si tu veux.... tu pourras m'envoyer des bouts de fenetres parceque là c'est compliqué de comprendre ce qui est ecrit |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 74 mensajes |
|
| Publicado el 05,noviembre 2018 - 16:17 |
| okey je te rep par mail merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 81 mensajes |
|
| Publicado el 05,noviembre 2018 - 16:26 |
bon c'est trouvé ...
faut reinitialiser à 0 avant chaque remplissage de la table...
bon dev, |
| |
| |
| | | |
|
| | |