Voici le problème, j'ai une requête (appelée Anniversaire) stockée sous
Access. Celle-ci comprend une fonction écrite dans un module de la BD où se
trouve la requête stockée. En gros cela donne ça :
UPDATE Renseignement LEFT JOIN Enfant ON Renseignement.ID = Enfant.IDR SET
Renseignement.Age = CalculDtAnniversaire([dtNaissance],[Age]),
Enfant.AgeEnfant = [AgeEnfant]+1
WHERE (((bdtAnniversaire([DtNaissance],[Age]))=True));
* La fonction bdtAnniversaire est là pour délimiter le terrain.
Donc en exécution dans Access, aucun problème. Par contre, lorsque je la
lance de VB avec cette ligne de code
Set AdoC = New adodb.Connection
Set AdoRe = New adodb.Recordset
'Connexion avec la base de données et appel de la requête stockée
AdoC.Open Scon
AdoRe.Open "[Anniversaire]", AdoC, adOpenForwardOnly, , adCmdStoredProc
Il me dit que cela ne marche pas en raison de cette fonction
calculDtAnniversaire, plus précisément, "fonction non définie dans
l'expression.
Comment faire pour que cette fonction puisse être reconnue. Sinon je pense à
faire une macro qui lancerait cette requête de l'intérieur. Mais je ne vois
pas comment lancer cette macro à partir de vb.
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
driss hanib
pour ma part j'ai eu le même problème. pas réslu . il faut contourner.. ? essaie de faire une sous requête qui contient la fonction que tu as créée dans Access et appelle la dans ta requête principale. a voir si cela ne ralentit pas trop ta requête..
Driss "N" a écrit dans le message de news: 4429c946$0$9650$
Bonjour,
Voici le problème, j'ai une requête (appelée Anniversaire) stockée sous Access. Celle-ci comprend une fonction écrite dans un module de la BD où se trouve la requête stockée. En gros cela donne ça :
UPDATE Renseignement LEFT JOIN Enfant ON Renseignement.ID = Enfant.IDR SET Renseignement.Age = CalculDtAnniversaire([dtNaissance],[Age]), Enfant.AgeEnfant = [AgeEnfant]+1 WHERE (((bdtAnniversaire([DtNaissance],[Age]))=True));
* La fonction bdtAnniversaire est là pour délimiter le terrain.
Donc en exécution dans Access, aucun problème. Par contre, lorsque je la lance de VB avec cette ligne de code
Set AdoC = New adodb.Connection Set AdoRe = New adodb.Recordset 'Connexion avec la base de données et appel de la requête stockée AdoC.Open Scon AdoRe.Open "[Anniversaire]", AdoC, adOpenForwardOnly, , adCmdStoredProc
Il me dit que cela ne marche pas en raison de cette fonction calculDtAnniversaire, plus précisément, "fonction non définie dans l'expression.
Comment faire pour que cette fonction puisse être reconnue. Sinon je pense à faire une macro qui lancerait cette requête de l'intérieur. Mais je ne vois pas comment lancer cette macro à partir de vb.
Christian.
pour ma part j'ai eu le même problème. pas réslu . il faut contourner.. ?
essaie de faire une sous requête qui contient la fonction que tu as créée
dans Access et appelle la dans ta requête principale. a voir si cela ne
ralentit pas trop ta requête..
Driss
"N" <pasdemail@marchepas.com> a écrit dans le message de news:
4429c946$0$9650$636a55ce@news.free.fr...
Bonjour,
Voici le problème, j'ai une requête (appelée Anniversaire) stockée sous
Access. Celle-ci comprend une fonction écrite dans un module de la BD où
se trouve la requête stockée. En gros cela donne ça :
UPDATE Renseignement LEFT JOIN Enfant ON Renseignement.ID = Enfant.IDR SET
Renseignement.Age = CalculDtAnniversaire([dtNaissance],[Age]),
Enfant.AgeEnfant = [AgeEnfant]+1
WHERE (((bdtAnniversaire([DtNaissance],[Age]))=True));
* La fonction bdtAnniversaire est là pour délimiter le terrain.
Donc en exécution dans Access, aucun problème. Par contre, lorsque je la
lance de VB avec cette ligne de code
Set AdoC = New adodb.Connection
Set AdoRe = New adodb.Recordset
'Connexion avec la base de données et appel de la requête stockée
AdoC.Open Scon
AdoRe.Open "[Anniversaire]", AdoC, adOpenForwardOnly, , adCmdStoredProc
Il me dit que cela ne marche pas en raison de cette fonction
calculDtAnniversaire, plus précisément, "fonction non définie dans
l'expression.
Comment faire pour que cette fonction puisse être reconnue. Sinon je pense
à faire une macro qui lancerait cette requête de l'intérieur. Mais je ne
vois pas comment lancer cette macro à partir de vb.
pour ma part j'ai eu le même problème. pas réslu . il faut contourner.. ? essaie de faire une sous requête qui contient la fonction que tu as créée dans Access et appelle la dans ta requête principale. a voir si cela ne ralentit pas trop ta requête..
Driss "N" a écrit dans le message de news: 4429c946$0$9650$
Bonjour,
Voici le problème, j'ai une requête (appelée Anniversaire) stockée sous Access. Celle-ci comprend une fonction écrite dans un module de la BD où se trouve la requête stockée. En gros cela donne ça :
UPDATE Renseignement LEFT JOIN Enfant ON Renseignement.ID = Enfant.IDR SET Renseignement.Age = CalculDtAnniversaire([dtNaissance],[Age]), Enfant.AgeEnfant = [AgeEnfant]+1 WHERE (((bdtAnniversaire([DtNaissance],[Age]))=True));
* La fonction bdtAnniversaire est là pour délimiter le terrain.
Donc en exécution dans Access, aucun problème. Par contre, lorsque je la lance de VB avec cette ligne de code
Set AdoC = New adodb.Connection Set AdoRe = New adodb.Recordset 'Connexion avec la base de données et appel de la requête stockée AdoC.Open Scon AdoRe.Open "[Anniversaire]", AdoC, adOpenForwardOnly, , adCmdStoredProc
Il me dit que cela ne marche pas en raison de cette fonction calculDtAnniversaire, plus précisément, "fonction non définie dans l'expression.
Comment faire pour que cette fonction puisse être reconnue. Sinon je pense à faire une macro qui lancerait cette requête de l'intérieur. Mais je ne vois pas comment lancer cette macro à partir de vb.
Christian.
Clive Lumb
"N" a écrit dans le message de news:4429c946$0$9650$
Bonjour,
Voici le problème, j'ai une requête (appelée Anniversaire) stockée sous Access. Celle-ci comprend une fonction écrite dans un module de la BD où
se
trouve la requête stockée. En gros cela donne ça :
UPDATE Renseignement LEFT JOIN Enfant ON Renseignement.ID = Enfant.IDR SET Renseignement.Age = CalculDtAnniversaire([dtNaissance],[Age]), Enfant.AgeEnfant = [AgeEnfant]+1 WHERE (((bdtAnniversaire([DtNaissance],[Age]))=True));
* La fonction bdtAnniversaire est là pour délimiter le terrain.
Donc en exécution dans Access, aucun problème. Par contre, lorsque je la lance de VB avec cette ligne de code
Set AdoC = New adodb.Connection Set AdoRe = New adodb.Recordset 'Connexion avec la base de données et appel de la requête stockée AdoC.Open Scon AdoRe.Open "[Anniversaire]", AdoC, adOpenForwardOnly, , adCmdStoredProc
Il me dit que cela ne marche pas en raison de cette fonction calculDtAnniversaire, plus précisément, "fonction non définie dans l'expression.
Comment faire pour que cette fonction puisse être reconnue. Sinon je pense
à
faire une macro qui lancerait cette requête de l'intérieur. Mais je ne
vois
pas comment lancer cette macro à partir de vb.
Christian.
Cela ne marche pas car "procédure stockée" ne veut pas dire "fonction stockée" Ton appel à calculDtAnniversaire demande une action par VBA dans Access, pas une simple requête SQL. Il existe plusieurs solutions, dont (AMHA) le plus simple est de faire le calcul de la date anniversaire sous VB6 et de la passer comme paramètre - idem pour le WHERE.
"N" <pasdemail@marchepas.com> a écrit dans le message de
news:4429c946$0$9650$636a55ce@news.free.fr...
Bonjour,
Voici le problème, j'ai une requête (appelée Anniversaire) stockée sous
Access. Celle-ci comprend une fonction écrite dans un module de la BD où
se
trouve la requête stockée. En gros cela donne ça :
UPDATE Renseignement LEFT JOIN Enfant ON Renseignement.ID = Enfant.IDR SET
Renseignement.Age = CalculDtAnniversaire([dtNaissance],[Age]),
Enfant.AgeEnfant = [AgeEnfant]+1
WHERE (((bdtAnniversaire([DtNaissance],[Age]))=True));
* La fonction bdtAnniversaire est là pour délimiter le terrain.
Donc en exécution dans Access, aucun problème. Par contre, lorsque je la
lance de VB avec cette ligne de code
Set AdoC = New adodb.Connection
Set AdoRe = New adodb.Recordset
'Connexion avec la base de données et appel de la requête stockée
AdoC.Open Scon
AdoRe.Open "[Anniversaire]", AdoC, adOpenForwardOnly, , adCmdStoredProc
Il me dit que cela ne marche pas en raison de cette fonction
calculDtAnniversaire, plus précisément, "fonction non définie dans
l'expression.
Comment faire pour que cette fonction puisse être reconnue. Sinon je pense
à
faire une macro qui lancerait cette requête de l'intérieur. Mais je ne
vois
pas comment lancer cette macro à partir de vb.
Christian.
Cela ne marche pas car "procédure stockée" ne veut pas dire "fonction
stockée"
Ton appel à calculDtAnniversaire demande une action par VBA dans Access, pas
une simple requête SQL.
Il existe plusieurs solutions, dont (AMHA) le plus simple est de faire le
calcul de la date anniversaire sous VB6 et de la passer comme paramètre -
idem pour le WHERE.
"N" a écrit dans le message de news:4429c946$0$9650$
Bonjour,
Voici le problème, j'ai une requête (appelée Anniversaire) stockée sous Access. Celle-ci comprend une fonction écrite dans un module de la BD où
se
trouve la requête stockée. En gros cela donne ça :
UPDATE Renseignement LEFT JOIN Enfant ON Renseignement.ID = Enfant.IDR SET Renseignement.Age = CalculDtAnniversaire([dtNaissance],[Age]), Enfant.AgeEnfant = [AgeEnfant]+1 WHERE (((bdtAnniversaire([DtNaissance],[Age]))=True));
* La fonction bdtAnniversaire est là pour délimiter le terrain.
Donc en exécution dans Access, aucun problème. Par contre, lorsque je la lance de VB avec cette ligne de code
Set AdoC = New adodb.Connection Set AdoRe = New adodb.Recordset 'Connexion avec la base de données et appel de la requête stockée AdoC.Open Scon AdoRe.Open "[Anniversaire]", AdoC, adOpenForwardOnly, , adCmdStoredProc
Il me dit que cela ne marche pas en raison de cette fonction calculDtAnniversaire, plus précisément, "fonction non définie dans l'expression.
Comment faire pour que cette fonction puisse être reconnue. Sinon je pense
à
faire une macro qui lancerait cette requête de l'intérieur. Mais je ne
vois
pas comment lancer cette macro à partir de vb.
Christian.
Cela ne marche pas car "procédure stockée" ne veut pas dire "fonction stockée" Ton appel à calculDtAnniversaire demande une action par VBA dans Access, pas une simple requête SQL. Il existe plusieurs solutions, dont (AMHA) le plus simple est de faire le calcul de la date anniversaire sous VB6 et de la passer comme paramètre - idem pour le WHERE.
Christian
Merci beaucoup pour vos réponses. Le problème de faire le calcul sous VB est que le temps de traitement est très long, c'est pourquoi je m'orientais vers cette solution. Sinon que signifie AMHA ?
Je vais tenter la solution de Driss et vous tient au courant.
Christian.
"Clive Lumb" a écrit dans le message de news: #
"N" a écrit dans le message de news:4429c946$0$9650$ > Bonjour, > > Voici le problème, j'ai une requête (appelée Anniversaire) stockée sous > Access. Celle-ci comprend une fonction écrite dans un module de la BD où se > trouve la requête stockée. En gros cela donne ça : > > UPDATE Renseignement LEFT JOIN Enfant ON Renseignement.ID = Enfant.IDR
SET
> Renseignement.Age = CalculDtAnniversaire([dtNaissance],[Age]), > Enfant.AgeEnfant = [AgeEnfant]+1 > WHERE (((bdtAnniversaire([DtNaissance],[Age]))=True)); > > * La fonction bdtAnniversaire est là pour délimiter le terrain. > > Donc en exécution dans Access, aucun problème. Par contre, lorsque je la > lance de VB avec cette ligne de code > > Set AdoC = New adodb.Connection > Set AdoRe = New adodb.Recordset > 'Connexion avec la base de données et appel de la requête stockée > AdoC.Open Scon > AdoRe.Open "[Anniversaire]", AdoC, adOpenForwardOnly, , adCmdStoredProc > > Il me dit que cela ne marche pas en raison de cette fonction > calculDtAnniversaire, plus précisément, "fonction non définie dans > l'expression. > > Comment faire pour que cette fonction puisse être reconnue. Sinon je
pense
à > faire une macro qui lancerait cette requête de l'intérieur. Mais je ne vois > pas comment lancer cette macro à partir de vb. > > Christian.
Cela ne marche pas car "procédure stockée" ne veut pas dire "fonction stockée" Ton appel à calculDtAnniversaire demande une action par VBA dans Access,
pas
une simple requête SQL. Il existe plusieurs solutions, dont (AMHA) le plus simple est de faire le calcul de la date anniversaire sous VB6 et de la passer comme paramètre - idem pour le WHERE.
Merci beaucoup pour vos réponses.
Le problème de faire le calcul sous VB est que le temps de traitement est
très long, c'est pourquoi je m'orientais vers cette solution. Sinon que
signifie AMHA ?
Je vais tenter la solution de Driss et vous tient au courant.
Christian.
"Clive Lumb" <clumb2@gratuit_en_anglais.fr.invalid> a écrit dans le message
de news: #wkSwrwUGHA.5172@TK2MSFTNGP12.phx.gbl...
"N" <pasdemail@marchepas.com> a écrit dans le message de
news:4429c946$0$9650$636a55ce@news.free.fr...
> Bonjour,
>
> Voici le problème, j'ai une requête (appelée Anniversaire) stockée sous
> Access. Celle-ci comprend une fonction écrite dans un module de la BD où
se
> trouve la requête stockée. En gros cela donne ça :
>
> UPDATE Renseignement LEFT JOIN Enfant ON Renseignement.ID = Enfant.IDR
SET
> Renseignement.Age = CalculDtAnniversaire([dtNaissance],[Age]),
> Enfant.AgeEnfant = [AgeEnfant]+1
> WHERE (((bdtAnniversaire([DtNaissance],[Age]))=True));
>
> * La fonction bdtAnniversaire est là pour délimiter le terrain.
>
> Donc en exécution dans Access, aucun problème. Par contre, lorsque je la
> lance de VB avec cette ligne de code
>
> Set AdoC = New adodb.Connection
> Set AdoRe = New adodb.Recordset
> 'Connexion avec la base de données et appel de la requête stockée
> AdoC.Open Scon
> AdoRe.Open "[Anniversaire]", AdoC, adOpenForwardOnly, , adCmdStoredProc
>
> Il me dit que cela ne marche pas en raison de cette fonction
> calculDtAnniversaire, plus précisément, "fonction non définie dans
> l'expression.
>
> Comment faire pour que cette fonction puisse être reconnue. Sinon je
pense
à
> faire une macro qui lancerait cette requête de l'intérieur. Mais je ne
vois
> pas comment lancer cette macro à partir de vb.
>
> Christian.
Cela ne marche pas car "procédure stockée" ne veut pas dire "fonction
stockée"
Ton appel à calculDtAnniversaire demande une action par VBA dans Access,
pas
une simple requête SQL.
Il existe plusieurs solutions, dont (AMHA) le plus simple est de faire le
calcul de la date anniversaire sous VB6 et de la passer comme paramètre -
idem pour le WHERE.
Merci beaucoup pour vos réponses. Le problème de faire le calcul sous VB est que le temps de traitement est très long, c'est pourquoi je m'orientais vers cette solution. Sinon que signifie AMHA ?
Je vais tenter la solution de Driss et vous tient au courant.
Christian.
"Clive Lumb" a écrit dans le message de news: #
"N" a écrit dans le message de news:4429c946$0$9650$ > Bonjour, > > Voici le problème, j'ai une requête (appelée Anniversaire) stockée sous > Access. Celle-ci comprend une fonction écrite dans un module de la BD où se > trouve la requête stockée. En gros cela donne ça : > > UPDATE Renseignement LEFT JOIN Enfant ON Renseignement.ID = Enfant.IDR
SET
> Renseignement.Age = CalculDtAnniversaire([dtNaissance],[Age]), > Enfant.AgeEnfant = [AgeEnfant]+1 > WHERE (((bdtAnniversaire([DtNaissance],[Age]))=True)); > > * La fonction bdtAnniversaire est là pour délimiter le terrain. > > Donc en exécution dans Access, aucun problème. Par contre, lorsque je la > lance de VB avec cette ligne de code > > Set AdoC = New adodb.Connection > Set AdoRe = New adodb.Recordset > 'Connexion avec la base de données et appel de la requête stockée > AdoC.Open Scon > AdoRe.Open "[Anniversaire]", AdoC, adOpenForwardOnly, , adCmdStoredProc > > Il me dit que cela ne marche pas en raison de cette fonction > calculDtAnniversaire, plus précisément, "fonction non définie dans > l'expression. > > Comment faire pour que cette fonction puisse être reconnue. Sinon je
pense
à > faire une macro qui lancerait cette requête de l'intérieur. Mais je ne vois > pas comment lancer cette macro à partir de vb. > > Christian.
Cela ne marche pas car "procédure stockée" ne veut pas dire "fonction stockée" Ton appel à calculDtAnniversaire demande une action par VBA dans Access,
pas
une simple requête SQL. Il existe plusieurs solutions, dont (AMHA) le plus simple est de faire le calcul de la date anniversaire sous VB6 et de la passer comme paramètre - idem pour le WHERE.
Clive Lumb
Christian wrote:
Merci beaucoup pour vos réponses. Le problème de faire le calcul sous VB est que le temps de traitement est très long, c'est pourquoi je m'orientais vers cette solution. Sinon que signifie AMHA ?
Je vais tenter la solution de Driss et vous tient au courant.
Christian.
AMHA = A mon humble avis
Christian wrote:
Merci beaucoup pour vos réponses.
Le problème de faire le calcul sous VB est que le temps de traitement
est très long, c'est pourquoi je m'orientais vers cette solution.
Sinon que signifie AMHA ?
Je vais tenter la solution de Driss et vous tient au courant.
Merci beaucoup pour vos réponses. Le problème de faire le calcul sous VB est que le temps de traitement est très long, c'est pourquoi je m'orientais vers cette solution. Sinon que signifie AMHA ?
Je vais tenter la solution de Driss et vous tient au courant.
Christian.
AMHA = A mon humble avis
N
> AMHA = A mon humble avis
J'étais partit sur un process Access dont je n'avais jamais entendu parlé, ouf ! :-)
Entre temps, j'ai testé la proposition de Driss qui n'a pas fonctionné pour les mêmes raisons. Du coup, à partir de VB j'appelle une macro contenue dans Access qui elle même exécute la fameuse requête. Ce n'est pas élégant mais cela fonctionne.
Christian.
"Clive Lumb" a écrit dans le message de news:
Christian wrote:
Merci beaucoup pour vos réponses. Le problème de faire le calcul sous VB est que le temps de traitement est très long, c'est pourquoi je m'orientais vers cette solution. Sinon que signifie AMHA ?
Je vais tenter la solution de Driss et vous tient au courant.
Christian.
> AMHA = A mon humble avis
J'étais partit sur un process Access dont je n'avais jamais entendu parlé,
ouf ! :-)
Entre temps, j'ai testé la proposition de Driss qui n'a pas fonctionné pour
les mêmes raisons. Du coup, à partir de VB j'appelle une macro contenue dans
Access qui elle même exécute la fameuse requête. Ce n'est pas élégant mais
cela fonctionne.
Christian.
"Clive Lumb" <clumb2@Gratuit_in_English.fr.invalid> a écrit dans le message
de news: OUYUjDyUGHA.4792@TK2MSFTNGP14.phx.gbl...
Christian wrote:
Merci beaucoup pour vos réponses.
Le problème de faire le calcul sous VB est que le temps de traitement
est très long, c'est pourquoi je m'orientais vers cette solution.
Sinon que signifie AMHA ?
Je vais tenter la solution de Driss et vous tient au courant.
J'étais partit sur un process Access dont je n'avais jamais entendu parlé, ouf ! :-)
Entre temps, j'ai testé la proposition de Driss qui n'a pas fonctionné pour les mêmes raisons. Du coup, à partir de VB j'appelle une macro contenue dans Access qui elle même exécute la fameuse requête. Ce n'est pas élégant mais cela fonctionne.
Christian.
"Clive Lumb" a écrit dans le message de news:
Christian wrote:
Merci beaucoup pour vos réponses. Le problème de faire le calcul sous VB est que le temps de traitement est très long, c'est pourquoi je m'orientais vers cette solution. Sinon que signifie AMHA ?
Je vais tenter la solution de Driss et vous tient au courant.