[Résolu] Calcul du numéro de semaine

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Lesept
Membre lOOyal
Membre lOOyal
Messages : 34
Inscription : 14 mars 2018 09:37

[Résolu] Calcul du numéro de semaine

Message par Lesept »

Bonjour
J'aimerais créer un champ calculant le numéro de semaine correspondant à une date donnée, dans une table. J'ai vu les fonction WEEKNUM et NO.SEMAINE, mais aucune ne semble fonctionner. Y a-t-il une fonction adaptée ou faut-il juste faire une division du nombre de jours écoulés depuis le 1er janvier ?

Voici ce que j'écris pour créer la table :

Code : Tout sélectionner

CREATE TABLE "Reporting" (
"IDInfo" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
"Date" DATE DEFAULT CURRENT_DATE NOT NULL,
"Semaine" INTEGER DEFAULT NO.SEMAINE("Date";2));
et l’erreur obtenue

Code : Tout sélectionner

2: Wrong data type or data too long in DEFAULT clause: SEMAINE in statement [
CREATE TABLE "Reporting" (
"IDInfo" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
"Date" DATE DEFAULT CURRENT_DATE NOT NULL,
"Semaine" INTEGER DEFAULT NO.SEMAINE]
Même chose avec WEEKNUM à la place de NO.SEMAINE :

Code : Tout sélectionner

3: Wrong data type or data too long in DEFAULT clause: WEEKNUM in statement [
CREATE TABLE "Reporting" (
"IDInfo" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
"Date" DATE DEFAULT CURRENT_DATE NOT NULL,
"Semaine" INTEGER DEFAULT WEEKNUM]
Merci de votre aide
Dernière modification par Lesept le 29 mars 2018 12:15, modifié 1 fois.
OpenOffice 4.1.5, LibreOffice 5.4.6.2, Win 7
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Calcul du numéro de semaine

Message par jeanmimi »

Bonjour,
Lesept a écrit :J'aimerais créer un champ calculant le numéro de semaine correspondant à une date donnée, dans une table.
Les calculs se font plutôt dans une requête. As-tu essayé ?
 Ajout : Quant au numéro de la semaine, tu l'obtiens avec WEEK (voir ici pour le SQL : https://wiki.openoffice.org/wiki/FR/Doc ... SELECT&#41
Dernière modification par jeanmimi le 29 mars 2018 11:20, modifié 2 fois.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Lesept
Membre lOOyal
Membre lOOyal
Messages : 34
Inscription : 14 mars 2018 09:37

Re: Calcul du numéro de semaine

Message par Lesept »

Non, c'est bien en renseignant la table que je veux le faire.
J'ai un formulaire dans lequel j'entre des données. C'es données sont datées, mais je voudrais afficher dans le formulaire le numéro de la semaine. En effet, le formulaire permet de voir toutes les donénes de la table, et pas seulement celles qui sont en train d'être créées, ce qui permet de les modifier. Mais il est important de connaitre ce numéro de semaine pour s'y retrouver.

D'où ma question...
OpenOffice 4.1.5, LibreOffice 5.4.6.2, Win 7
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Calcul du numéro de semaine

Message par Piaf »

Bonjour
Quel est l'intérêt de stocker un champ calculé dans une table ?
Lesept a écrit :J'ai vu les fonction WEEKNUM et NO.SEMAINE
Il me semble qu'il s'agit d'une fonction du tableur.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Lesept
Membre lOOyal
Membre lOOyal
Messages : 34
Inscription : 14 mars 2018 09:37

Re: Calcul du numéro de semaine

Message par Lesept »

Avec WEEK, j'obtiens la même erreur :

Code : Tout sélectionner

1: Wrong data type or data too long in DEFAULT clause: WEEK in statement [
CREATE TABLE "Reporting" (
"IDInfo" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
"Date" DATE DEFAULT CURRENT_DATE,
"Semaine" INTEGER DEFAULT WEEK]
Voici le code SQL :

Code : Tout sélectionner

DROP TABLE "Reporting" IF EXISTS;
CREATE TABLE "Reporting" (
"IDInfo" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
"Date" DATE DEFAULT CURRENT_DATE,
"Semaine" INTEGER DEFAULT WEEK("Date"),
"Redacteur" VARCHAR(20) NOT NULL,
"Info" VARCHAR(600) NOT NULL,
"Confidentiel" VARCHAR(12) NOT NULL,
"ResumeJR" BOOLEAN,
"RefEntity" INTEGER NOT NULL,
"RefLabo" INTEGER NOT NULL,
"RefTopic" INTEGER NOT NULL,
CONSTRAINT CK_CONF0 CHECK("Confidentiel" IN ('Confidentiel', 'Public')),
CONSTRAINT FK_ENTI_REP FOREIGN KEY ("RefEntity") REFERENCES "Entities" ("IDEntity"),
CONSTRAINT FK_LABO_REP FOREIGN KEY ("RefLabo") REFERENCES "Labos" ("IDLabo"),
CONSTRAINT FK_TOPI_REP FOREIGN KEY ("RefTopic") REFERENCES "Topics" ("IDTopic")
);
Une idée sur ce qui ne va pas ?
OpenOffice 4.1.5, LibreOffice 5.4.6.2, Win 7
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Calcul du numéro de semaine

Message par jeanmimi »

Piaf a écrit :Quel est l'intérêt de stocker un champ calculé dans une table ?
+1
Comme le calcul se fait dans la requête, tu peux créer ton formulaire sur cette requête ce qui affichera le champ calculé.
Base avec Requête WEEK.odb
(13.84 Kio) Téléchargé 77 fois
 Ajout : Pour le code SQL de la création d'une Table, tu devrais te reporter au chapitre 9 du Guide SQL, CREATE TABLE, pour déterminer ce qui se met ou pas entre quotes : https://wiki.openoffice.org/wiki/FR/Doc ... EATE_TABLE 
Dernière modification par jeanmimi le 29 mars 2018 12:15, modifié 1 fois.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Lesept
Membre lOOyal
Membre lOOyal
Messages : 34
Inscription : 14 mars 2018 09:37

Re: Calcul du numéro de semaine

Message par Lesept »

OK, je vois, je vais essayer d'adapter à mon cas. Merci à vous deux.
OpenOffice 4.1.5, LibreOffice 5.4.6.2, Win 7
Répondre