#1 Tue 10 April 2018 16:32
- stephanie_j
- Participant occasionnel
- Lieu: Toulouse
- Date d'inscription: 22 May 2017
- Messages: 27
QGIS 2.18: champs date
Bonjour
Je voudrais renseigner dans ma table attributaire la date et l'heure à laquelle les objets sont crées (à terme cette couche sera utilisée dans QField pour les saisies directes sur le terrain, d'où l’intérêt de connaitre précisément quand ont été faites les observations). J'ai donc crée un champs "date_heure" en format date . Dans les outils d'édition, j'ai bien précisé mon format date comprenant la date et l'heure. Lorsque je saisi mon observation, pas de soucis, ma date et l'heure se mettent automatiquement dans mon formulaire de saisie.
A partir de ce moment, je suis confrontée à 2 problèmes :
1/Dès que je sors du mode édition, il va modifier la date de tous les objets déjà saisis en mettant la date et l'heure de ma modification. Du coup je me retrouve avec une table attributaire où tous les objets ont la même date et heure.... J'ai bien essayé dans les outils d'édition de faire différentes requêtes mais rien n'y fait. Il faudrait que je puisse bloquer le contenu de cette cellule pour qu'une fois saisi on ne puisse plus la modifier, mais là je ne sais pas
2/ Lorsque j'exporte vers Excel ma table attributaire, il me perd l'heure de ma saisie !
Merci pour votre aide
Stéphanie
Hors ligne
#2 Thu 10 September 2020 10:55
- Samuel Pereira Dias
- Participant actif
- Date d'inscription: 11 May 2015
- Messages: 52
Re: QGIS 2.18: champs date
Bonjour,
J'ai actuellement le même problème. Quelle solution avez-vous trouvé?
Merci,
S.
Hors ligne
#3 Thu 10 September 2020 11:07
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1020
Re: QGIS 2.18: champs date
Bonjour,
Je n'ai pas ce problème avec la version 3 de Qgis. La version 2 n'étant plus mise à jour.
Hors ligne
#4 Thu 10 September 2020 11:41
- Samuel Pereira Dias
- Participant actif
- Date d'inscription: 11 May 2015
- Messages: 52
Re: QGIS 2.18: champs date
Bonjour,
Merci pour votre réponse.
Pourriez-vous me dire comment vous paramétrez votre champ de date et d'heure ?
Merci
Hors ligne
#5 Thu 10 September 2020 11:45
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1020
Re: QGIS 2.18: champs date
Dans les propriétés de la couche, rubrique 'Formulaire d'attributs', sélectionner le champ en question, dans 'Type d'outil', je mets 'Date/Heure, format du champ encore 'Date&heure' puis tout en bas dans 'Défauts', je saisis dans 'Valeur par défaut' :
$now
puis
Appliquer la valeur par défaut lors de la mise à jour
Hors ligne
#6 Thu 10 September 2020 13:38
- Samuel Pereira Dias
- Participant actif
- Date d'inscription: 11 May 2015
- Messages: 52
Re: QGIS 2.18: champs date
C'est effectivement ce que j'ai fait.
J'ai essayé avec un champs au format Date_Heure et également au format texte avec une longueur importante (999) pour voir si le problème venait de la. Malheureusement cela n'a rien fait évolué.
Sur les deux types de champs ci-dessus, au sein du menu formulaire de la propriété des couches, en plus du now(), j'ai défini "type outil" = Date_Heure, puis "Format du champs" = date_Iso; "affichage" = Défault. En réalité, j'ai essayé toutes les modalités de "Format de champs", et de "affichage".
Comme indiqué par Stéphanie, une fois que je valide mon formulaire mon affichage de mon champ date_heure devient par ex : 10-09-2020T00:00:00 au lieu de 10-09-2020T13:38....
Merci
Hors ligne
#7 Thu 03 December 2020 12:05
- Samuel Pereira Dias
- Participant actif
- Date d'inscription: 11 May 2015
- Messages: 52
Re: QGIS 2.18: champs date
Mais sans blague!
Il faut que le champs de date et d'heure soit en texte, et pas en Date! Pas évident de comprendre cela alors que c'est bien un champ date et heure qu'il vous faut ^^.
J'imagine que cela doit être dû à défaut de connaissances de bases.
Pouvons-nous affirmer que si une commande SQL est active au sein d'un formulaire de saisi, il faut forcément que le champ soit en texte??
Merci
Hors ligne
#8 Thu 03 December 2020 12:28
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3882
Re: QGIS 2.18: champs date
Bonjour,
Il faut que le champs de date et d'heure soit en texte, et pas en Date! Pas évident de comprendre cela alors que c'est bien un champ date et heure qu'il vous faut ^^.
Quel est votre format de fichier? Le format date et heure, datetime, n'est pas pris en charge par le format shapefile (je crois que c'est techniquement plus compliqué que cela, mais le message que j'ai retenu est celui-là) donc il convertit en date, à 0h
Hors ligne
#9 Fri 04 December 2020 15:29
- Samuel Pereira Dias
- Participant actif
- Date d'inscription: 11 May 2015
- Messages: 52
Re: QGIS 2.18: champs date
Bonjour,
Quel est votre format de fichier? Le format date et heure, datetime, n'est pas pris en charge par le format shapefile (je crois que c'est techniquement plus compliqué que cela, mais le message que j'ai retenu est celui-là) donc il convertit en date, à 0h
Bonjour SANTANNA,
Il s'agit effectivement de SHP. Si je comprends bien, malgré qu'il soit possible de configurer un champs en format date sur son SIG, en réalité cela n'est pas effectuée en arrière plan? Cela doit certainement être dû aux exigences .dbf.
Hors ligne
#10 Fri 04 December 2020 16:25
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3882
Re: QGIS 2.18: champs date
Bonjour,
Un champ date devrait passer. Un champ date ET heure (donc type datetime) soit ne passera pas, soit sera converti en date à minuit (pas testé, pour affirmer avec exactitude). Et dans le cas présent, comme c'est l'heure qui vous intéresse, il y a besoin de convertir en texte afin de stocker.
Yep, une limitation liée au dbf. Une recherche web devrait vous apporter des détails plus précis.
Hors ligne
#11 Sat 05 December 2020 15:09
- lylambda
- Participant actif
- Date d'inscription: 31 Aug 2016
- Messages: 127
Re: QGIS 2.18: champs date
Bonjour,
La configuration suivante est fonctionnelle sur mon QGIS 3.10, pour avoir un champ qui enregistre la date et l'heure de création des entités (valable QGIS/Qfield et SHP/GKPG), sans modification par la ensuite:
Onglet Champ de Propriétés de la couche : Création d'un champ au format texte.
Onglet Formulaire d'Attributs :
- Général > décocher "Éditable"
- Type d’outil > "Édition de texte"
- Défauts > Valeur par défaut "replace ( left( now(), 19), 'T', '_')"
A noter que la formule "replace ( left( now (), 19), 'T', '_')" est juste une modification du résultat par défaut de "now()" (éliminer valeur au delà de la seconde, remplacer "T" par "_").
Dernière modification par lylambda (Sat 05 December 2020 15:12)
Hors ligne
#12 Wed 30 December 2020 10:38
- Samuel Pereira Dias
- Participant actif
- Date d'inscription: 11 May 2015
- Messages: 52
Re: QGIS 2.18: champs date
Salut Lylambda,
Ton code s'adapte t-il à l'heure local? C'est à dire pour la France +1 en Hiver, +2 en été.
J'ai également remarqué que le problème de 00:00:00 pour les heures se produit lorsque l'on active la fonction calendrier dans les paramètres de formulaire... Si on le désactive, le date/time s'affiche bien comme le code le propose.
Bien à toi,
Samuel
Dernière modification par Samuel Pereira Dias (Wed 30 December 2020 11:22)
Hors ligne
#13 Wed 06 January 2021 11:56
- Samuel Pereira Dias
- Participant actif
- Date d'inscription: 11 May 2015
- Messages: 52
Re: QGIS 2.18: champs date
Salut tous le monde,
En complément, afin d'éviter les désagréments des 00:00:00, je résume ici je l'espère exhaustivement ce qui convient de faire:
- Le champs ne doit pas être en date mais texte, avec la longueur de texte suffisante, je mets toujours le maximum;
- Appliquer la commande proposée par Lylalamba dans les valeurs par défauts, n'oubliez pas de cocher "appliquer la valeur par défaut sur la mise à jour";
Code:
"replace ( left( now (), 19), 'T', '_')"
- N'oublier pas de définir le bon format dans Formulaire>Type d'outil>Format du champs>personnsalisation/.... Selon le code ci-dessus, définir ceci:
Code:
yyyy-MM-dd_HH:mm:ss
- Tester avec ou sans calendrier. Il se peut que cela entraine aussi les 00:00:00
Avec ces quelques indispensables pas toujours très intuitifs, on devrait pouvoir s'en sortir.
Merci à tous,
S.
Hors ligne
#14 Wed 03 February 2021 20:03
- lylambda
- Participant actif
- Date d'inscription: 31 Aug 2016
- Messages: 127
Re: QGIS 2.18: champs date
Samuel, merci pour ton retour et tes compléments !
Ton code s'adapte t-il à l'heure local?
A priori oui, puisque basé sur now ()
Hors ligne