Creation fonction et reutilisation en requete + jours ouvres

Le
pascallerudulier
Bonsoir tout le monde,

Question qui paraitra basique voire debiles a certains
mais: est-ce qu'il est possible de creer une fonction en VBA et de
la reutiliser dans un requete comme n'importe quelle autre fonction de
base?

Je suis en train de m'arracher la tete sur le probleme des jours
ouvres (que Datediff ne fait pas) et je vois, d'apres les infos glanes
ici et la, que je n'arriverai a rien sans VBA.

Bonne soiree et merci d'avance pour toute contribution qui me ferait
avancer sur le sujet.

Pascal

P.S: est-ce qu'il serait possible de 'dupliquer' ce groupe de
discussion sur Facebook, Google wave, ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sylvain Lafontaine
Le #22131671
Oui, sans aucun problème. Si je me rappelle bien, je crois qu'il est
préférable que les paramètres doivent être du type Variant et que la
fonction doit également retourner une valeur de type Variant mais je ne suis
pas sûr si cela est toujours obligatoire.

Je ne me souviens pas non plus si les paramètres doivent être passés par
référence (ByRef) ou par valeur (ByVal)

Évidemment, elle doit également être de type Public. Si vous avez déjà
essayé et que cela n'a pas fonctionné, c'est probablement parce que vous
avez oublié de la déclarer Public.

Notez aussi que si vous utilisez cela dans la partie WHERE de votre requête,
les performance pourraient être désastreuses car Access risque d'être obligé
de scanner la table au grand complet.

Pour en revenir à votre problème des jours ouvrables, la façon la plus
simple est tout simplement de bâtir une table Calendrier contenant tous les
jours sur une période de temps assez longue (plusieurs années) et pour
lequel chaque jour est indiqué comme étant ouvrable, férié, etc. Comme
référence, aller voir
http://sqlserver2000.databases.aspfaq.com/why-should-i-consider-using-an-auxiliary-calendar-table.html .
C'est pour SQL-Server mais le principe reste le même.

--
Sylvain Lafontaine, ing.
MVP pour « Windows Live Platform »
Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com
Consultant indépendant et programmation à distance pour Access et
SQL-Server.


news:
Bonsoir tout le monde,

Question qui paraitra basique voire debiles a certains
mais...: est-ce qu'il est possible de creer une fonction en VBA et de
la reutiliser dans un requete comme n'importe quelle autre fonction de
base?

Je suis en train de m'arracher la tete sur le probleme des jours
ouvres (que Datediff ne fait pas) et je vois, d'apres les infos glanes
ici et la, que je n'arriverai a rien sans VBA.

Bonne soiree et merci d'avance pour toute contribution qui me ferait
avancer sur le sujet.

Pascal

P.S: est-ce qu'il serait possible de 'dupliquer' ce groupe de
discussion sur Facebook, Google wave, ...?
pascallerudulier
Le #22131721
Merci Sylvain pour la confirmation. Quant au lien, je ne manquerai pas
de le visiter.
Bonne journee,
Pascal
On 18 mai, 05:11, "Sylvain Lafontaine"
Oui, sans aucun problème.  Si je me rappelle bien, je crois qu'il est
préférable que les paramètres doivent être du type Variant et que la
fonction doit également retourner une valeur de type Variant mais je ne suis
pas sûr si cela est toujours obligatoire.

Je ne me souviens pas non plus si les paramètres doivent être passé s par
référence (ByRef) ou par valeur (ByVal)

Évidemment, elle doit également être de type Public.   Si vous av ez déjà
essayé et que cela n'a pas fonctionné, c'est probablement parce que v ous
avez oublié de la déclarer Public.

Notez aussi que si vous utilisez cela dans la partie WHERE de votre requ ête,
les performance pourraient être désastreuses car Access risque d'êt re obligé
de scanner la table au grand complet.

Pour en revenir à votre problème des jours ouvrables, la façon la p lus
simple est tout simplement de bâtir une table Calendrier contenant tous les
jours sur une période de temps assez longue (plusieurs années) et pou r
lequel chaque jour est indiqué comme étant ouvrable, férié, etc.  Comme
référence, aller voirhttp://sqlserver2000.databases.aspfaq.com/why-sh ould-i-consider-using....
C'est pour SQL-Server mais le principe reste le même.

--
Sylvain Lafontaine, ing.
MVP pour « Windows Live Platform »
Blogue/site web:http://paparazzi-codeur.sylvainlafontaine.com
Consultant indépendant et programmation à distance pour Access et
SQL-Server.


news:



> Bonsoir tout le monde,

>        Question qui paraitra basique voire debiles a certains
> mais...: est-ce qu'il est possible de creer une fonction en VBA et de
> la reutiliser dans un requete comme n'importe quelle autre fonction de
> base?

>      Je suis en train de m'arracher la tete sur le probleme des j ours
> ouvres (que Datediff ne fait pas) et je vois, d'apres les infos glanes
> ici et la, que je n'arriverai a rien sans VBA.

> Bonne soiree et merci d'avance pour toute contribution qui me ferait
> avancer sur le sujet.

> Pascal

> P.S: est-ce qu'il serait possible de 'dupliquer' ce groupe de
> discussion sur Facebook, Google wave, ...?
Publicité
Poster une réponse
Anonyme