Creation fonction et reutilisation en requete + jours ouvres
2 réponses
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, ...?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 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.
wrote in message 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, ...?
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.
<pascallerudulier@gmail.com> wrote in message
news:3ece0754-1ceb-4ebe-8090-d7d1d073c5f3@c13g2000vbr.googlegroups.com...
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, ...?
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.
wrote in message 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
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" wrote:
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.
wrote in message
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, ...?
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"
<sylvainlafontaine2...@yahoo.ca> wrote:
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.
> 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, ...?
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" wrote:
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.
wrote in message
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, ...?