Probleme de calcul de champ access
Résolu
SAlimata_8269
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
SAlimata_8269 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
SAlimata_8269 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour, moi j'ai un code en access 2016 que j'aimerais savoir ça traduit quoi exactement si vous pouvez m'aidez merci! Voici le code: : Int(([DT]-SérieDate(Année([DT]-JourSem([DT]-1)+4);1;3)+JourSem(SérieDate(Année([DT]-JourSem([DT]-1)+4);1;3))+5)/7)
avec DT un champ date.
avec DT un champ date.
A voir également:
- Probleme de calcul de champ access
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Le nom du champ de tableau croisé dynamique n'est pas valide - Forum Excel
- Exemple base de données access à télécharger gratuit - Forum Access
- Exemple base de données Access de gestion ✓ - Forum Logiciels
8 réponses
Bonjour,
drôle de fonction, tu veux retourner quoi ?
A mon avis il y a moyen de la simplifier, là elle est bien compliquée :-(
Reprenons :
INT va te renvoyer un nombre entier --> ex : int (17.8 va retourner 17)
SérieDate te renvoie une date --> ex : sériedate(2020;7;17) va retourner 17/07/2020
JourSem te renvoie un entier correspondant au jour de la semaine --> ex : JourSem(#17/07/2020#) va retourner 6 car le 17/07/2020 est un vendredi)
A+
drôle de fonction, tu veux retourner quoi ?
A mon avis il y a moyen de la simplifier, là elle est bien compliquée :-(
Reprenons :
INT va te renvoyer un nombre entier --> ex : int (17.8 va retourner 17)
SérieDate te renvoie une date --> ex : sériedate(2020;7;17) va retourner 17/07/2020
JourSem te renvoie un entier correspondant au jour de la semaine --> ex : JourSem(#17/07/2020#) va retourner 6 car le 17/07/2020 est un vendredi)
A+
: Int(([DT]-SérieDate(Année([DT]-JourSem([DT]-1)+4);1;3)+JourSem(SérieDate(Année([DT]-JourSem([DT]-1)+4);1;3))+5)/7)
DT = 17/07/2020
INT(
a/ (17/07/2020-sériedate(année(17/07/2020-joursem(17/07/2020-1)+4) ;1 ;3)
a/ (17/07/2020-seriedate(année(17/07/2020-joursem(16/07/2020)+4) ;1 ;3)
a/ (17/07/2020 – seriedate(année(17/07/2020-5+4) ;1 ;3)
a/ (17/07/2020 – seriedate(année(16/07/2020) ;1 ;3)
a/ (17/07/2020 – 03/01/2020)
a = 197
b / joursem(seriedate(année(17/07/2020-joursem(17/07/2020-1)+4) ;1 ;3))+5
b/ joursem(seriedate(année(17/07/2020-joursem(16/07/2020+4) ;1 ;3))+5
b/ joursem(seriedate(année(17/07/2020-joursem(20/07/2020) ;1 ;3))+5
b/ joursem(seriedate(année(17/07/2020-2) ;1 ;3))+5
b/ joursem(03/01/2020)+5
b/ 6 +5
b = 11
Donc INT (197-11)/7 = 26
Si mes calculs sont exacts, mais pourquoi utilises tu cette fonction ?
DT = 17/07/2020
INT(
a/ (17/07/2020-sériedate(année(17/07/2020-joursem(17/07/2020-1)+4) ;1 ;3)
a/ (17/07/2020-seriedate(année(17/07/2020-joursem(16/07/2020)+4) ;1 ;3)
a/ (17/07/2020 – seriedate(année(17/07/2020-5+4) ;1 ;3)
a/ (17/07/2020 – seriedate(année(16/07/2020) ;1 ;3)
a/ (17/07/2020 – 03/01/2020)
a = 197
b / joursem(seriedate(année(17/07/2020-joursem(17/07/2020-1)+4) ;1 ;3))+5
b/ joursem(seriedate(année(17/07/2020-joursem(16/07/2020+4) ;1 ;3))+5
b/ joursem(seriedate(année(17/07/2020-joursem(20/07/2020) ;1 ;3))+5
b/ joursem(seriedate(année(17/07/2020-2) ;1 ;3))+5
b/ joursem(03/01/2020)+5
b/ 6 +5
b = 11
Donc INT (197-11)/7 = 26
Si mes calculs sont exacts, mais pourquoi utilises tu cette fonction ?
Bonjour,
tu veux calculer quoi ? Obtenir quel résultat ????
En supposant que ton champ date soit un champ date réduit (17/07/2020) :
17/07/2020 - 2 = 15/07/2020
année(15/07/2020)=2020
seriedate(2020;1;3) = 03/01/2020
JourSemaine(03/01/2020) = 6 (le 03 janvier 2020 était un vendredi)
6 + 5 = 11
Mais je ne vois pas l'intérêt du truc, dis nous donc ce que tu souhaites obtenir, là tu manipules des dates sans trop intérêt à première vue...
tu veux calculer quoi ? Obtenir quel résultat ????
En supposant que ton champ date soit un champ date réduit (17/07/2020) :
17/07/2020 - 2 = 15/07/2020
année(15/07/2020)=2020
seriedate(2020;1;3) = 03/01/2020
JourSemaine(03/01/2020) = 6 (le 03 janvier 2020 était un vendredi)
6 + 5 = 11
Mais je ne vois pas l'intérêt du truc, dis nous donc ce que tu souhaites obtenir, là tu manipules des dates sans trop intérêt à première vue...
Je veux calculer les semaines d'émergence et pour calculer ces semaines émergence il faut une date émergence qui est DT, après je calcul les unités(Unit) en fonction de la semaine et cette formule est:
Unit:
VraiFaux([EmWeek]>9;CChaîne([EmYear])+CChaîne("-")+CChaîne([EmWeek]);CChaîne([EmYear]
)+CChaîne("-")+CChaîne("0")+CChaîne([EmWeek]))
Exemple de Unit(2020-19)
Unit:
VraiFaux([EmWeek]>9;CChaîne([EmYear])+CChaîne("-")+CChaîne([EmWeek]);CChaîne([EmYear]
)+CChaîne("-")+CChaîne("0")+CChaîne([EmWeek]))
Exemple de Unit(2020-19)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est quoi des semaines d'émergences ???
Quel rapport avec ta première fonction qui calculait un nombre de jours au 03/01/N ??
A+
Quel rapport avec ta première fonction qui calculait un nombre de jours au 03/01/N ??
A+
C'est l'élevage des moustiques qu'on fait , la semaine qu'on couple les moustiques( mâle femelle) est appelée semaine d'émergence . La question que javais poser pour comprendre 03/01/2020 c'est ce que vous avez calculer que je comprenais pas, sinon ma question initiale etait cette formule Emweek: Int(([DT]-SérieDate(Année([DT]-JourSem([DT]-1)+4);1;3)+JourSem(SérieDate(Année([DT]-JourSem([DT]-1)+4);1;3))+5)/7)
Et la formule de Unit dependait de celui la.
Et la formule de Unit dependait de celui la.
Pendant que l'on se bat contre les moustiques, tu les accouples, ce n'est pas gagné :-) :-)
Mais je ne comprends toujours pas, tout du moins j'imagine que tu veux calculer un jour (ou une semaine) par rapport à la date d'accouplement, afin de surveiller les naissances, no ?
Expliques ce que tu veux obtenir à partir de quoi en étant précis et en évitant de copier coller des formules pour voir si tu ne peux pas simplifier tout cela...
A+
Mais je ne comprends toujours pas, tout du moins j'imagine que tu veux calculer un jour (ou une semaine) par rapport à la date d'accouplement, afin de surveiller les naissances, no ?
Expliques ce que tu veux obtenir à partir de quoi en étant précis et en évitant de copier coller des formules pour voir si tu ne peux pas simplifier tout cela...
A+
Bonjour! Ne vous inquiète pas pour ça c'est dans le but de lutter contre ces moustiques qu'on fait l'élevage les mâles sont heradiés et après ils vont stérilisé ceux qui sont dans la nature. Sinon ce que je veux avoir les semaines à lesquelles ils commencent à pondre pendant que si on couple c'est 20 à 25 jours ils commencent à pondre et la durée de pondre c'est trois mois.
Je ne m'inquiétais pas, c'était de l'humour :-)
Du coup tu as une fonction qui passe par des jours (on en rajoute 1 par ci, 3 par là...), et tu me dis que la ponte commence approximativement entre 20 et 91 jours (3 mois) !
Pourquoi ne pas effectuer alors un simple [date debut de ponte]= [date accouplement] + 20 et un [date fin de ponte] = [date accouplement] + 91 ?
Allez @+ et mets le fil en résolu du coup.
Du coup tu as une fonction qui passe par des jours (on en rajoute 1 par ci, 3 par là...), et tu me dis que la ponte commence approximativement entre 20 et 91 jours (3 mois) !
Pourquoi ne pas effectuer alors un simple [date debut de ponte]= [date accouplement] + 20 et un [date fin de ponte] = [date accouplement] + 91 ?
Allez @+ et mets le fil en résolu du coup.
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
si je comprends bien, tu utilises une formule, sans savoir pourquoi, et tu nous demandes de t'expliquer à quoi elle sert.
ai-je bien compris?
pourquoi veux-tu comprendre?
si je comprends bien, tu utilises une formule, sans savoir pourquoi, et tu nous demandes de t'expliquer à quoi elle sert.
ai-je bien compris?
pourquoi veux-tu comprendre?
A)
EmWeek: Int(([DT]-SérieDate(Année([DT]-JourSem([DT]-1)+4);1;3)+JourSem(SérieDate(Année([DT]-JourSem([DT]-1)+4);1;3))+5)/7)
B)
EmYear: VraiFaux(JourSem([DT];2)=1;Année([DT]+3);VraiFaux(JourSem([DT];2)=2;Année([DT]+2);VraiFaux(JourSem([DT];2)=3;Année([EmD]+1);VraiFaux(JourSem([DT];2)=5;Année([DT]-1);VraiFaux(JourSem([DT];2)=6;Année([DT]-2);VraiFaux(JourSem([DT];2)=7;Année([DT]-3);Année([DT])))))))
C)
UNIT: VraiFaux([EmWeek]>9;CChaîne([EmYear])+CChaîne("-")+CChaîne([EmWeek]);CChaîne([EmYear])+CChaîne("-")+CChaîne("0")+CChaîne([EmWeek])).
La question que j'avais poser c'etait de savoir le calcul a eté fait au niveau de la formule A). Merci!