Comment sélectionner une date de début et une date de fin comprise dans une période en utilisant les macros libre office ?

Période examinée

On veut pouvoir sélectionner une date de début et de fin comprise dans la période examinée.
Comment le faire en utilisant les macros de libre office ?

Bonjour

Il faudrait donner des précisions :

  • souhaites-tu réaliser ce qu’affiche ta copie d’écran (contrôles de formulaire, liste déroulante, bouton, zones de saisie) ?
  • Ou souhaites-tu savoir comment exploiter les données saisies dans ces contrôles ?
  • dans quel module (les données sont-elles dans un tableau calc, une base de données, un tableau Writer… ?

Cordialement

Bonjour, ce sujet m’intéresse car j’essaye en vain au travers d’une requête (sous LibreOffice Base HSQLBD intégré) à sélectionner les personnes présentes une journée X comprise entre une date d’entrée et une date de sortie. J’ai mis mes dates au format américain. J’utilise la formule suivante : “Factures”.“DateEntree” >= :X AND “Factures”.“DateSortie” <= :Y . J’ai mis mes dates au format américain mais lorsque la boite de dialogue s’ouvre pour saisir mes dates X et Y bien que je saisisse ma date au format YYYY-MM-DD, Base reformate le format systématiquement en français JJ/MM/AAAA. D’après ce que j’ai pu lire à droite et à gauche mon souci pourrait venir de là . Si j’indique X = DateEntree et Y=DateSortie j’ai alors des résultats (les bons) qui s’affichent dans ma requête mais si je mets des dates intermédiaires je n’ai aucun résultat. J’ai essayé aussi la formule suivante " :X BETWEEN “Factures”.“DateEntree” AND “Factures”.“DateSortie” " mais aucun résultat.
Eric

Bonjour @Eric99

Il eût été préférable de créer ta propre question car la question de @blum porte sur les macros et la réponse que je peux te donner sera ici hors sujet. Merci de bien vouloir respecter cela dans le futur :slight_smile:

Tu indiques :

J’ai mis mes dates au format américain

Je suppose que cela veut dire que, bien que dans un environnement utilisateur en français, tu as défini un format sur ces champs dans la table. Cela n’est qu’un format d’affichage, de même que dans Calc par exemple où la date est affichée dans un format mais est stockée “en interne” différement.

Autrement dit, la réponse est qu’il faut avoir une requête sous la forme :

SELECT "Nom", "DateNaissance" FROM "Table1" WHERE "DateNaissance" BETWEEN :x AND :y

Mais la saisie doit se faire avec un format “local” valide, soit par exemple 01/12/2019 ou 2019-01-12 (noter l’emploi du tiret dans le cas anglophone).

Cordialement

Bonjour, Merci de votre réponse et de votre suggestion. Je vais poser ma propre question car le résultat que je veux obtenir est légèrement différent. Eric