Calcul age dans un sous formulaire Libre Office Base
Résolu
DUME06
Messages postés
330
Date d'inscription
Statut
Membre
Dernière intervention
-
DUME06 Messages postés 330 Date d'inscription Statut Membre Dernière intervention -
DUME06 Messages postés 330 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Calcul age dans un sous formulaire Libre Office Base
- Microsoft office - Guide
- Whatsapp formulaire opposition - Guide
- Cette technique secrète permet d'avoir Windows et Microsoft Office gratuitement et à vie - Accueil - Bureautique
- Open office gratuit - Télécharger - Suite bureautique
- Libre office en francais - Télécharger - Suite bureautique
3 réponses
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.
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
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
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
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
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
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.....