Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/05/2008, à 15:54

legml

[RESOLU] Calcul de date dans Base OOo

Bonjour

J'ai, dans une base de données, une table avec ses divers champs dont un champ "date".
Une requête permet de trier les enregistrements par date croissante. Facile ensuite d'extraire les enregistrements de la date A à la date B, pour un mois précis par exemple. Mais cela implique des préparatifs et des manipulations.

Je cherche une solution différente à ce problème de tri :

batir une requête qui permette d'extraire les seuls enregistrements d'un mois précis en indiquant directement le nom ou le numéro du mois.

J'imagine que la solution pourrait passer par la création, dans une requête, d'un champ fictif contenant une formule de traitement du champ "date" (cette formule extrayant la valeur du mois). ... mais je ne trouve pas !

Merci à celui ou celle qui pourrait m'indiquer une piste.

Dernière modification par legml (Le 16/06/2008, à 13:42)


Vétéran des systèmes Pick
et maintenant : Ubuntu 10.04

Hors ligne

#2 Le 14/05/2008, à 16:13

phavet

Re : [RESOLU] Calcul de date dans Base OOo

Bonjour
Des vieux souvenirs de programation sous Oracle :
On formate la date avec un masque "MM", le résultat est un champ caractère
On convertit ce champ en nombre sur lequel on peut trier

En syntaxe Oracle ça donnait qqch du genre :
order by tonumber(format(Date_base,'MM')

C'est pas joli, mais ça marchait bien.
le tonumber est là parce qu'on n'est jamais sûr que le format MM met un zéro devant.


Faire et défaire c'est toujours travailler.
Tour assemblée, Asus F3Sc, Acer Aspire 5715z, Asus 1201HA ; Karmic (1) , Lucid (2), Natty(1)

Hors ligne

#3 Le 10/06/2008, à 15:01

legml

Re : [RESOLU] Calcul de date dans Base OOo

Bonjour

Merci à phavet pour sa réponse que je ne parviens pas à appliquer dans OOBase. Auriez-vous qq précisions à me donner ?

Plus généralement, je voudrais relancer ma questions en la reformulant :

Dans OOBase : comment extraire le paramètre "mois" (p.e. 12 pour décembre) d'un champ au format "date". La valeur extraite doit servir à trier ou à sélectionner les enregistrements répondant à la condition "mois=12" (ce n'est q'un exemple).


Vétéran des systèmes Pick
et maintenant : Ubuntu 10.04

Hors ligne

#4 Le 10/06/2008, à 15:59

denis56

Re : [RESOLU] Calcul de date dans Base OOo

Salut

Dans calc la fonction c'est =mois(numéro de série) où n° de série est le numéro exact (imbuvable) renvoyé par un champ date jj/mm/aa.
J'imagine mal Base utiliser des fonctions différentes sur ces données de dates
Mais attention si ta base porte sur 2 années ou +, le champ affichera 12 mais ne différenciera plus les ""deux décembre"" celui de 2008 et celui de 2007

Dernière modification par denis56 (Le 10/06/2008, à 16:00)


Debian Jessie souvent, Xubuntu parfois,
Bénévole @ Rhizomes

Hors ligne

#5 Le 10/06/2008, à 16:02

phavet

Re : [RESOLU] Calcul de date dans Base OOo

Je viens de jouer avec oo.base et j'ai trouvé ça :

http://wiki.services.openoffice.org/wiki/Database

et plus précisément ça :

http://wiki.services.openoffice.org/wik … Procedures

Je crois que cela va répondre à tes questions.
Bonne continuation.


Faire et défaire c'est toujours travailler.
Tour assemblée, Asus F3Sc, Acer Aspire 5715z, Asus 1201HA ; Karmic (1) , Lucid (2), Natty(1)

Hors ligne

#6 Le 15/06/2008, à 14:59

legml

Re : [RESOLU] Calcul de date dans Base OOo

Bonjour
et merci pour votre aide. La solution au problème posé est effectivement toute simple :

SELECT "ID", "DATE", "DEP", "TAUX" FROM "Table1" WHERE MONTH("DATE") = '12'

et la requête extrait tous les articles (=enregistrements)  avec mois=12 (toutes années confondues bien sûr).
A la prochaine.


Vétéran des systèmes Pick
et maintenant : Ubuntu 10.04

Hors ligne