Formatage d'un champ heure

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Formatage d'un champ heure

Messagepar Steph_ » 31 Oct 2013 à 13:41

Bonjour
J'ai une base dans laquelle les utilisateurs doivent saisir dans un champ le temps passé pour effectuer une tâche.
J'ai déjà plusieurs milliers de docs.
Je ne vois pas comment je peux forcer à saisir sous la forme hh:mm
Du coup j'ai un peu de tout dans ce champ.
J'ai essayé avec du @ToTime, @TextTotime, et autre, et j'ai fini par ruiner le champ complètement. (base en cours de restore ^^)

Ça doit quand même être possible d'une manière ou d'une autre, soit de forcer la saisie (hh:mm) soit de convertir, mais là je sèche.

Si quelqu'un a un début d'idée ...
Avatar de l’utilisateur
Steph_
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 354
Inscrit(e) le : 24 Nov 2005 à 20:06
Localisation : Besançon

Re: Formatage d'un champ heure

Messagepar Michael DELIQUE » 31 Oct 2013 à 13:57

salut

client lourd ou web ?

client lourd, c'est simpe champ de tyme date et tu n'affiche que l'heure dans les propriétés du champ
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Re: Formatage d'un champ heure

Messagepar Steph_ » 31 Oct 2013 à 13:59

c'est client lourd
j'ai essayé ce que tu proposes, ça marche moyen, parce que ce que je veux, ce sont des durées.
Par contre c'est en faisant ça que j'ai perdu toutes les données dans les autres docs.
Je n'ai pas trouvé comment faire une conversion.
Avatar de l’utilisateur
Steph_
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 354
Inscrit(e) le : 24 Nov 2005 à 20:06
Localisation : Besançon

Re: Formatage d'un champ heure

Messagepar Michael DELIQUE » 31 Oct 2013 à 14:07

re,

tu as @time en foumule et "Format" en LS
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Re: Formatage d'un champ heure

Messagepar Steph_ » 31 Oct 2013 à 14:11

j'ai déjà essayé et ça n'allait pas, ils ont saisi un peu tout dans ce champ, je vais essayer avec ça en décomposant.

merci
Avatar de l’utilisateur
Steph_
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 354
Inscrit(e) le : 24 Nov 2005 à 20:06
Localisation : Besançon

Re: Formatage d'un champ heure

Messagepar Steph_ » 31 Oct 2013 à 14:27

en changeant le type de champ et en mettant champ de date / time, ça convertit tout seul ...
Par habitude j'avais affiché le sélecteur, quel couillon !
Avatar de l’utilisateur
Steph_
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 354
Inscrit(e) le : 24 Nov 2005 à 20:06
Localisation : Besançon

Re: Formatage d'un champ heure

Messagepar roubech » 01 Nov 2013 à 13:29

je pense qu'il faut réfléchir sur une copie de la base de prod et pas travailler directement sur la base de prod
ensuite dissocier le cas d'une nouvelle saisie et le cas de la reprise des données existantes

Pour la nouvelle saisie il faut peut-être mettre 2 champs numériques sans décimal avec éventuellement un contrôle supplémentaire pour vérifie que le champ des minutes est inférieur à 60 et celuis des heures inférieur à 24
Ensuite, si tu en as besoin pour ensuite faire des totaux dans une vue ou autres, tu peux calculer un champ caché durée en minutes = 60 x champ_heures + champ_minutes ...

Pour la reprise, il faudrait une extraction de toutes les valeurs existantes pour être sur de traiter tous les cas, mais à priori tu auras au moins les cas :
- un nombre entier stocké au format texte
- un nombre entier stocké au format nombre
- un nombre décimal entier stocké au format texte avec virgule
- un nombre décimal entier stocké au format texte avec point
- un nombre décimal entier stocké au format nombre
- une chaine de texte composée de 2 nombres séparés par la lettre h
- une chaine de texte composée de 2 nombres séparés par le caractère :
....
pour tout ces cas, il faut préparer un agent de reprise qui va regarder le contenu existant et tester dans quel cas tu es et générer les 2 nouveaux champs en fonction du cas
tester cet agent sur ta copie de base pour être sur que tous les cas sont bien traités
ensuite pour le passage en prod il faut s'assurer que personne n'accède à la base pendant la bascule
appliquer le nouveau design et faire tourner l'agent sur la base de prod
vérifier et réouvrir les accès
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille


Retour vers Développement

cron