#1 Tue 06 November 2007 15:55
- biloute31
- Juste Inscrit !
- Date d'inscription: 26 Oct 2007
- Messages: 5
Format d'une date
Bonjour,
Voilà mon soucis:
J'ai crée une interface dans laquelle on saisit des dates avec le format : JJ/MM/AAAA
Toutes ces dates doivent au fur et à mesure des ajouts être répertoriées dans un texte recapitulatif avec le format : AAAAMMJJ (les "/" disparaissent et tout s'inverse. Pour 22/01/1979 on doit avoir 19790122).
Je n'arrive pas à passer du premier format au second.
J'ai essayé de découper JJ/MM/AAAA pour ensuite reorganiser ma date en AAAAMMJJ, ensuite j'ai essayé des choses du type "set format date", "set date window", sans succès...
Quelqu'un pourrait m'aider?
Hors ligne
#2 Tue 06 November 2007 16:14
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Format d'une date
Bonjour
StringToDate("22/01/1979") devrait vous donner: 19790122
Hors ligne
#3 Tue 06 November 2007 16:22
- biloute31
- Juste Inscrit !
- Date d'inscription: 26 Oct 2007
- Messages: 5
Re: Format d'une date
Imaginons que j'ai mis ma date dans une variable de type date nommée DATEDEBUT
J'ai definit un integer DATE
J'ai essayé de faire DATE = StringToDate(DATEDEBUT), DATE = StringToDate("DATEDEBUT")
et ensuite je fais: alter control ET_Recap value str$(DATE), mais ca ne marche pas...
Je précise que je débute en mapbasic, alors je ne me rends pas vraiment compte de la difficulté...
Hors ligne
#4 Tue 06 November 2007 16:41
- Marc-André
- Participant assidu
- Lieu: Montréal
- Date d'inscription: 30 Sep 2005
- Messages: 688
Re: Format d'une date
Bonjour,
Une solution serait créer des colonnes temporaires (Annee, mois, jour, par exemple) puis de les mettre à jour avec les fonctions
Right$(Date_format_J_M_A, 2),
Mid$(Date_format_J_M_A, , 3, 2) et
Left$(Date_format_J_M_A, 4).
Une fois les information séparées dans les trois colonnes, il faut les concaténer en mettant à jour la colonne qui recevra les dates dans le format désiré. "Annee"+"mois"+"jour"
Hors ligne
#5 Tue 06 November 2007 16:58
- biloute31
- Juste Inscrit !
- Date d'inscription: 26 Oct 2007
- Messages: 5
Re: Format d'une date
J'ai peur de trop en demander mais peux tu me montrer comment faire tout ca stp?
Hors ligne
#6 Tue 06 November 2007 18:33
- Marc-André
- Participant assidu
- Lieu: Montréal
- Date d'inscription: 30 Sep 2005
- Messages: 688
Re: Format d'une date
Bonjour,
La première étape est simple:
Créer trois colonnes à partir du menu suivant:
Table --> Gestion tables --> Modifier structure.
Une fois terminé, il y a les colonnes suivantes:
Colonne «Jour»
Colonne «Mois»
Colonne «Annee»
(Elles peuvent porter d'autre nom, mais ceux-ci sont simples).
Deuxième étape:
Je suppose ici que ta colonne de départ se nomme «Date_JMA», bien que dans la vraie vie elle porte un autre nom.
Il faut mettre à jour les colonnes à l'aide su menu suivant:
Table --> Mettre à jour colonne...
Table à mettre à jour: Nom_de_ta_table
Utiliser la colonne de la table: Nom_de_ta_table (Dans ce cas-ci, c'est la même)
Colonne à mettre à jour: Annee
Valeur: Right$(Date_JMA,4)
La fonction Right$ garde les «n» derniers caractères de la colonne sélectionnée.
Dans ce cas-ci, elle garde les 4 derniers caractères de la colonne «Date_JMA».
Répétez cette étape pour les colonnes restantes avec les paramètres suivants:
-Pour la colonne «jour», utilisez la pour la valeur: Left$(Date_JMA,2).
La fonction Left$ garde les «n» premiers caractères de la colonne sélectionnée.
-Pour la colonne «mois», utilisez la pour la valeur: Mid$(Date_JMA,4,2).
La fonction Mid$ garde les «n» premiers caractères de la colonne sélectionnée, à partir du caractère «x». Dans ce cas-ci, deux caractères seront conservés, à partir du 4è.
La troisième étape sert à concaténer les valeurs des trois colonnes qui ont étés crées dans la colonne que je nomme ici «Date_AMJ» (Je sais que dans la vraie vie, qu’elle n’a pas ce nom-là), qui est prête à recevoir les dates sous le format AAAAMMJJ.
Il faut mettre à jour la colonne «Date_AMJ» à l'aide su menu suivant:
Table --> Mettre à jour colonne...
Table à mettre à jour: Nom_de_ta_table
Utiliser la colonne de la table: Nom_de_ta_table (Dans ce cas-ci, c'est la même)
Colonne à mettre à jour: Date_AMJ
Valeur: Annee+Mois+Jour
Bonne manipulation.
Hors ligne
#7 Tue 06 November 2007 19:24
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Format d'une date
J'ai definit un integer DATE
...DATE = StringToDate(DATEDEBUT)...
Si DATEDEBUT et DATE sont définis en caractère, ça devrait marcher ...
Il faudra ensuite si nécessaire passer ce DATE caractère en format date
Hors ligne