[Résolu] Saisie date antérieure à 01/01/1600 dans formulaire

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Avatar de l’utilisateur
yves30
Membre hOOnoraire
Membre hOOnoraire
Messages : 192
Inscription : 18 nov. 2006 18:43
Localisation : France - Nîmes (Gard)

[Résolu] Saisie date antérieure à 01/01/1600 dans formulaire

Message par yves30 »

Bonjour

Dans un formulaire, j'ai besoin de saisir des dates antérieures à 1600.

Or je constate que le champ formaté "date" ne le permet pas : si je saisis une date de ce type, le champ refuse de franchir cette limite et affiche obstinément "01/01/1600".

Bien sûr, un champ texte permet bien évidemment de s'affranchir de cette limite, et il est parfaitement possible de saisir une date telle que "13/09/1515". L'ennui, c'est que, sur un tel champ, on ne peut pas obtenir un classement chronologique régulier (puisque le tri sur un champ texte se fait en partant de la gauche).

S'agit-il d'un bug ? Existe-t-il un moyen de contourner cette impossibilité ?
Dernière modification par yves30 le 21 juil. 2018 11:10, modifié 1 fois.
LibreOffice 7.6.5 Officielle, Mint 21.3 XFCE, PC Bureau Pentium dualcore G4400, 64 bits, 8 Go
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: Saisie date antérieure à 01/01/1600 dans formulaire

Message par Piaf »

Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: Saisie date antérieure à 01/01/1600 dans formulaire

Message par Jean-Louis Cadeillan »

Bonjour,
Le champ formaté est ici
yves30_20180721_JLC01.jpg
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
yves30
Membre hOOnoraire
Membre hOOnoraire
Messages : 192
Inscription : 18 nov. 2006 18:43
Localisation : France - Nîmes (Gard)

Re: Saisie date antérieure à 01/01/1600 dans formulaire

Message par yves30 »

Merci, Piaf et Jean-Louis, pour vos réponses rapides

J'avais déjà consulté le fil que tu m'indiques, Piaf, mais j'avais confondu "champ date" et "champ formaté" réglé sur "date", ce qui n'est pas la même chose.

Effectivement, un "champ formaté" réglé sur "date" accepte des dates antérieure à cette limite fatidique de "01/01/1600".
Il est paradoxal que le "champ date" soit moins performant que le "champ formaté" réglé sur "date". Je supose qu'il s'agit d'un bug ?...

Quoi qu'il en soit, je vous remercie beaucoup pour votre aide !
LibreOffice 7.6.5 Officielle, Mint 21.3 XFCE, PC Bureau Pentium dualcore G4400, 64 bits, 8 Go
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: [Résolu] Saisie date antérieure à 01/01/1600 dans formul

Message par Jean-Louis Cadeillan »

yves30 a écrit :Je supose qu'il s'agit d'un bogue ?
Pas vu de bogues ni améliorations pour OOo ou LibO sur des mots-clés comme date, control, 1600, limit...
Je note dans le livre sur la Programmation de Bernard Marcelly et Laurent Godard, à propos des variables dates et sur la fonction Basic DateSerial() le paragraphe suivant :
La date la plus ancienne qu’on puisse assigner avec DateSerial est l’année 100, bien que cela n’ait pas grand sens puisque le calendrier Grégorien débute en 1582. La date la plus futuriste acceptée est le 31/12/9999. Notez que dans les boîtes de dialogue, le contrôle de champ Date se limite à la période du 1er janvier 1600 au 1er janvier 9999.
A+
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
yves30
Membre hOOnoraire
Membre hOOnoraire
Messages : 192
Inscription : 18 nov. 2006 18:43
Localisation : France - Nîmes (Gard)

Re: [Résolu] Saisie date antérieure à 01/01/1600 dans formul

Message par yves30 »

Merci pour cette précision, Jean-Louis

Conclusion

Dans un formulaire, lorsqu'on doit saisir des dates antérieures à 1600 (ou postérieures à 2200), il faut absolument préférer le format "champ formaté".
En effet, en matière de dates, le format "champ formaté", contre toute attente, est plus performant que le format "date".

Merci encore, et bonne journée !
LibreOffice 7.6.5 Officielle, Mint 21.3 XFCE, PC Bureau Pentium dualcore G4400, 64 bits, 8 Go