Calcul age dans un sous formulaire Libre Office Base
Résolu/Fermé
DUME06
Messages postés
314
Date d'inscription
mardi 27 mars 2012
Statut
Membre
Dernière intervention
11 décembre 2024
-
2 oct. 2021 à 08:34
DUME06 Messages postés 314 Date d'inscription mardi 27 mars 2012 Statut Membre Dernière intervention 11 décembre 2024 - 5 oct. 2021 à 17:09
DUME06 Messages postés 314 Date d'inscription mardi 27 mars 2012 Statut Membre Dernière intervention 11 décembre 2024 - 5 oct. 2021 à 17:09
A voir également:
- Calcul age dans un sous formulaire Libre Office Base
- Microsoft office - Guide
- Oubliez Microsoft Office ! Cet équivalent totalement gratuit est parfait pour l'école, la maison et le bureau - Guide
- Libre office gratuit - Guide
- LibreOffice : l'alternative libre et gratuite à Microsoft Office - Télécharger - Suite bureautique
- Telecharger office 2019 - Télécharger - Traitement de texte
3 réponses
acefalo
Messages postés
69
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
15 septembre 2024
16
Modifié le 4 oct. 2021 à 02:18
Modifié le 4 oct. 2021 à 02:18
Bonjour,
Quand je fais éditer dans le champ de la vue de la table Contacts (VueAGE) du fichier, j'obtiens :
(Les noms des champs diffèrent de votre description, mais j'imagine que ce sont deux fichiers différents.)
Pour ajouter " ans" (ce que j'ai ajouté est en gras) :
Je ne sais pas si cela pose problème, mais s'il n'y a pas de date de naissance "ans" apparaîtra seul dans la case. Au lieu d'avoir une case vide. Je pense qu'on peut ajouter un IF THEN ELSE ou quelque chose du genre.
Quand je fais éditer dans le champ de la vue de la table Contacts (VueAGE) du fichier, j'obtiens :
YEAR( NOW( ) ) - YEAR( "Contacts"."DDN" ) - CASE WHEN ( MONTH( NOW( ) ) < MONTH( "Contacts"."DDN" ) OR ( MONTH( NOW( ) ) = MONTH( "Contacts"."DDN" ) AND DAY( NOW( ) ) < DAY( "Contacts"."DDN" ) ) ) THEN 1 ELSE 0 END
(Les noms des champs diffèrent de votre description, mais j'imagine que ce sont deux fichiers différents.)
Pour ajouter " ans" (ce que j'ai ajouté est en gras) :
CONCAT( YEAR( NOW( ) ) - YEAR( [Contacts].[DDN] ) - CASE WHEN ( MONTH( NOW( ) ) < MONTH( [Contacts].[DDN] ) OR ( MONTH( NOW( ) ) = MONTH( [Contacts].[DDN] ) AND DAY( NOW( ) ) < DAY( [Contacts].[DDN] ) ) ) THEN 1 ELSE 0 END, ' ans' )
Je ne sais pas si cela pose problème, mais s'il n'y a pas de date de naissance "ans" apparaîtra seul dans la case. Au lieu d'avoir une case vide. Je pense qu'on peut ajouter un IF THEN ELSE ou quelque chose du genre.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié le 2 oct. 2021 à 10:33
Modifié le 2 oct. 2021 à 10:33
Bonjour,
tu peux le faire en mettant au bout de ta formule
Mais c'est mieux de changer le format de ta colonne.
Sélectionne-la, clic-droit dessus et 'Formater des cellules..."
En bas de la fenêtre tu mets
L'avantage c'est que ça reste un nombre au lieu d'être un texte, que tu pourra tester facilement, trier, etc.
eric
tu peux le faire en mettant au bout de ta formule
&" ans"
Mais c'est mieux de changer le format de ta colonne.
Sélectionne-la, clic-droit dessus et 'Formater des cellules..."
En bas de la fenêtre tu mets
0" ans"et tu valides
L'avantage c'est que ça reste un nombre au lieu d'être un texte, que tu pourra tester facilement, trier, etc.
eric
DUME06
Messages postés
314
Date d'inscription
mardi 27 mars 2012
Statut
Membre
Dernière intervention
11 décembre 2024
23
2 oct. 2021 à 18:21
2 oct. 2021 à 18:21
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
2 oct. 2021 à 18:54
2 oct. 2021 à 18:54
Bonjour,
dépose ton fichier sur cjoint.com et colle ici le lien fourni
eric
dépose ton fichier sur cjoint.com et colle ici le lien fourni
eric
DUME06
Messages postés
314
Date d'inscription
mardi 27 mars 2012
Statut
Membre
Dernière intervention
11 décembre 2024
23
2 oct. 2021 à 19:22
2 oct. 2021 à 19:22
Merci ERIC
Ci-dessous le Lien de mon exemple:
https://www.cjoint.com/c/KJcru56xnAR
En te renouvelant mes remerciements; je te souhaite une bonne soirée
Bien amicalement
DUME06
Ci-dessous le Lien de mon exemple:
https://www.cjoint.com/c/KJcru56xnAR
En te renouvelant mes remerciements; je te souhaite une bonne soirée
Bien amicalement
DUME06
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
>
DUME06
Messages postés
314
Date d'inscription
mardi 27 mars 2012
Statut
Membre
Dernière intervention
11 décembre 2024
3 oct. 2021 à 12:43
3 oct. 2021 à 12:43
Bonjour,
désolé, je pensais que tu étais sur Calc.
Je ne connais pas Base
eric
désolé, je pensais que tu étais sur Calc.
Je ne connais pas Base
eric
DUME06
Messages postés
314
Date d'inscription
mardi 27 mars 2012
Statut
Membre
Dernière intervention
11 décembre 2024
23
>
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
3 oct. 2021 à 17:30
3 oct. 2021 à 17:30
Pas de soucis ERIC.
Je te renouvelle encore tous mes remerciements pour ton aide et ta célérité.
Bonne soirée à toi
Bien amicalement
DUME06
Je te renouvelle encore tous mes remerciements pour ton aide et ta célérité.
Bonne soirée à toi
Bien amicalement
DUME06
4 oct. 2021 à 11:33
J'avais posté la même question sur le Forum LibreOffice et j'ai reçu une réponse hier après midi.
J'ai donc testé sur mon modèle test et ensuite appliqué sur mon formulaire 'Adhérents'.
çà fonctionne parfaitement bien... Ci-dessous la commande SQL que j'ai appliqué dans mon formulaire de test :
YEAR( NOW( ) ) - YEAR( "Contacts"."DDN" ) - CASE WHEN ( MONTH( NOW( ) ) < MONTH( "Contacts"."DDN" ) OR ( MONTH( NOW( ) ) = MONTH( "Contacts"."DDN" ) AND DAY( NOW( ) ) < DAY( "Contacts"."DDN" ) ) ) THEN 1 ELSE 0 END ||' ans' AS "ans",
Je vais donc passer le sujet en résolu......
En te renouvelant tous mes remerciements; je te souhaite une agréable journée
Bien Amicalement
DUME06
5 oct. 2021 à 09:30
Suite à ton message; j'ai appliqué ta solution et çà fonctionne également très bien.
J'ai voulu également obtenir une DDN complète format "jj/mm/aaaa" ; j'ai donc modifié le format DDN dans la table Contacts et ensuite recréé une table Vue1 + appliqué ta commande =>le résultat est le mème qu'avec la table VueAge : format DDN inchangé "jj/mm/aa"
Faut-il rajouter un autre paramètre dans la table Vue1 pour obtenir "jj/mm/aaaa"
Merci d'avance pour ta compréhension et ton aide.
Bian amicalement
DUME06
5 oct. 2021 à 17:09
J'ai trouvé la solution = dans le formulaire => transformer le champ DDN en 'Champ Formaté' puis dans 'Propriétés des Contrôles' aller dans 'Formatage' et passer en format Date jj/mm/aaaa.....