|
Les Dates(en cours d'écriture) Sur cette page, sont abordés les instructions et sujets suivants :
La gestion des dates est un élément important du travail sur des bases de données. Déjà les américains ne l'écrivent pas comme nous. Heureusement dBase les stocke sous un format AAAAMMJJ dans ses fichiers. Il les affiche suivant le format de notre région. DATE()Pour obtenir la date courante, celle connue par l'ordinateur, l'instruction est date()
SET DATE TOPour obtenir l'affichage selon une autre norme, l'instruction SET DATE TO permet de choisir le format. Voici ce qu'indique l'aide de dBase Plus (DD est l'équivalent de JJ et YY de AA) Option Format Faites des essais
et pour revenir à la normale (ajouter obligatoirement une option) :
Si la barre oblique ne vous plait pas pour l'affichage d'une date au format français, vous pouvez modifier le caractère séparateur entre les jours, mois et années. Pour cela l'instruction SET MARK TO sera utilisée SET MARK TODe nouveau, le mieux est de faire des essais
A défaut d'être utile, cet exemple montre que tout caractère est utilisable, et que seul le premier est pris en compte
et pour revenir à la présentation habituelle
A la différence de set date, il n'est pas nécessaire de préciser le séparateur
Convertir une date écrite sous forme de chaine de caractères en date reconnue comme telle par dBase. CTOD()Convertir une chaine de caractère en date : l'intérêt est de pouvoir travailler dessus avec les fonctions dates et les fonctions arithmétiques La fonction CTOD(), soit Caractères TO Date, transforme une chaîne de caractère en date. Elle la renvoie sous la forme correspondant à l'affiche en cours pour une date La encore, des essais sont clairs
Mélangeons des séparateurs comme le tiret et le point
En fait, tout caractère séparateur est remplacé par le séparateur utilisé pour l'affichage en cours
Ainsi si vous saisissez
dBase renvoie " / / " et ce sera considéré comme une date, mais vide Idem si vous n'avez pas de séparateur dans la date
Encore plus fort, si vous saisissez une date impossible, comme par exemple le 31 avril, dBase va calculer ce qui devrait être le 31ème jour d'avril, soit le premier mai en fait. regardez :
et ce n'est pas seulement car c'est le jour de la fête du travail ! Essayez
Donc attention, à partir du moment ou le paramètre transmis est une chaîne de caractères, ctod() renverra TOUJOURS une date, soit vide, soit calculée, mais jamais de message d'erreur. Pensez-y quand vous l'utilisez. Les accolades { }Les accolades sont d'un usage presque identique à CTOD() selon l'aide de dBase. En fait si on a bien
ou
la demande avec des séparateurs différents, qui passe "comme une lettre à La Poste" avec ctod() donnera pour
cette caractéristique peut être intéressante : l'expression utilisée doit bien se présenter sous forme de date.
Opérations de calculs possibles sur les datesOn peut ajouter des jours à une date. Exemple : Quelle date serons-nous dans 20 jours, l'instruction est toute simple :
mais fonctionne aussi avec un nombre beaucoup plus grand
La soustraction est aussi possible :
Le nom du jour de la semaineMaintenant, avoir des informations sur le jour de la semaine est possible. Cela se fait avec l'instruction CDOW()
Hé oui, la dernière version francisée à ce jour est Visual dBase 5.7 ! En versions 32 bits, aucun dBase n'est en français. Pour vous aider vous pouvez utilisez la fonction FR_JOUR incluse dans FR_DATES.PRG (le télécharger). Après avoir chargé ce module
ce qui est plus facile pour un francophone. Le nom du moisPour obtenir le nom du mois, une fonction dBase existe aussi
Comme précédemment, cela manque de clarté. Toujours dans FR_DATES.PRG vous pouvez utiliser la fonction FR_MOIS
ce qui est plus lisible n'est-ce pas ?
Réalisé avec dBase 2.6.0.1 Dernière modification : samedi 05 novembre 2011 02:24 © M. Abraham |