Forum - Questions générale - Sujet n°509

[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Questions générale - Questions générale


clos par 3Stone le 03/06/2011 : 04:12  Sujet n° 509  Numero de semaine

le 17/05/2011 : 16:19
par imas7

Anonyme

visiteur

Bonjour PierreJ'ai vu la fonction que tu as posé concernant la correction du bug sur le numéro de la semaine. Cependant, j'ai une question à te poser. Je n'aariver pas à l'adapter à mon programme. J'ai 2 champs : Code_Periode (de type texte) et Nom_Periode ( de type date heure). J'aimerais convertir Nom_Periode en format "ww-aaaa". J'ai vu la fonction que tu publié (corrigeant le bug de microsoft sur le numero de la semaine) mais je n 'arrive pas à l'adapter à mon prog. Quand est ce que je dois appeler la fonction pour la le changement de format? Merci d'avancek
 sujet clos  Haut

[]   

Réponse n° 1
--------
le 17/05/2011 : 22:42
par 3Stone

Anonyme

Administrateur

Bonjour,

Pour obtenir le format "ww-aaaa", il suffit d'adapter légèrement la fonction.

A la fin de la fonction, tu remplaces :
Code :
fnWeek = NoAnnee & "/" & Format(NoSemaine, "00")
 par :
Code :
fnWeek =  Format(NoSemaine, "00") & "-" & NoAnnee
 Pour l'utilisation, c'est des plus simple, grâce au fait que c'est une fonction, justement. Il suffit pour cela de la placer dans une module général (donc pas "sous" un formulaire).
Pour Access 2000-2003, via Insertion/Modules et pour Access 2007-2010, via l'onglet Créer/Module.

Une fois la fonction placée dans le module, il faut compiler le code pour vérifier la bonne saisie (via Débogage, Compiler DB)

Pour l'utiliser, c'est comme pour toutes les fonctions intégrées d'Access, tu as une série de possibilités.
Soit tu l'utilises directement dans une requête, celle qui aliment le formulaire ou l'état. Pour cela, il suffit de créer un champ calculé qui contiendra :

PeriodeFormatee: fnWeek(Nom_Periode)

Soit tu l'utilises dans la source de la zone de texte du formulaire ou de l'état qui affiche Nom_Periode. Mais tu écriras :

= fnWeek(Nom_Periode)

En fait, il suffit d'utiliser la fonction là ou tu as besoin de son résultat, et de lui transmettre ce qu'elle doit traiter wink

Cordialement,
Pierre(3stone)
  clos par 3Stone le 03/06/2011 : 04:12  Haut
Réponse n° 2
--------
le 18/05/2011 : 02:48
par imas7

Anonyme

visiteur
Bonsoir PierreMille merci pour ton coup de pouce et ta diligence. Je galérais grave jusqu'à ce que je découvre ton site.  Merci encorel
Ecrire à imas7   clos par 3Stone le 03/06/2011 : 04:12  Haut
Réponse n° 3
--------
le 18/05/2011 : 14:25
par imas7

Anonyme

visiteur
Bonjour PierreC'est encore moi. Je ne m'en sort vraiment pas avec la fonction.J'ai essayé de créer une requête comme tu me l'as conseillé en créant un champ formaté " PeriodeFormatee: fnWeek(Nom_Periode) " mais j'obtiens le message suivant "Fonction 'fnWeek' non définie dans l'expression". J'ai googler mais pas de solution. Pourras tu m'aider un peu stp. Merci davance
Ecrire à imas7   clos par 3Stone le 03/06/2011 : 04:12  Haut
Réponse n° 4
--------
le 18/05/2011 : 14:56
par 3Stone

Anonyme

Administrateur

Bonjour,
 
Citation :

"Fonction 'fnWeek' non définie dans l'expression"

 
Où as tu placé la fonction ?

Si tu l'as placée dans un module général comme prévu il devrait la trouver sans problème... à condition de ne pas avoir sauvé le module sous le même nom que la fonction!!
Par convention, il est préférable de préfixer les noms de module par "mod". Comme par exemple "mod_Traitements_Dates"

Cordialement,
Pierre(3stone)
  clos par 3Stone le 03/06/2011 : 04:12  Haut
Réponse n° 5
--------
le 18/05/2011 : 15:08
par imas7

Anonyme

visiteur
J'ai créer un nouveau module comme tu me l'a recommandé. Le module s'appele : mod_fnWeek dans lequel se trouve uniquement la fonction fnWeek.Mais j'ai un autre message dans la même requête : "Nom ambigu. dans l'expression fnWeek([Nom_Periode])'.
Ecrire à imas7   clos par 3Stone le 03/06/2011 : 04:12  Haut
Réponse n° 6
--------
le 18/05/2011 : 15:27
par imas7

Anonyme

visiteur
Problème régléAu fait quand j'ai crée le nouveau module mod_fnWeek comme tu me l'a recommandé, j'ai oublié de supprimé la fonction dans un autre module que testais hier.Tout fonctionne correctement maintenant;grâce à toi. 1000 mercis e
Ecrire à imas7   clos par 3Stone le 03/06/2011 : 04:12  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut