"Fonction ... non définie dans l'expression" à partir de VB
8 réponses
stephane.letreis
Bonjour
J'ai créé une fonction public dans un module dans ma base access.
Lorsque je lance cette fonction à partir d'Access, elle s'exécute
correctement.
Quand, je la lance à partir de VB par contre, j'obtiens un message
d'erreur : "Fonction ... non définie dans l'expression."
Lorsque j'appelle de la même manière ( recordset.open "select * from
fonction() par exemple ) une fonction access intégrée, pas de problème
à partir de VB.
Comment puis-je faire pour utiliser ma fonction perso à 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
Stéphane Le Tréis
Hmm, pour la requête, il fallait lire : "Select fonction(paramètres,...) from table", toutes mes excuses. En fait, c'est lorsque j'appelle la fonction au sein d'une requête à partir de Visual Basic que j'ai mon erreur. J'ai également essayé d'appeler cette fonction à partir d'une vue dans Access, puis de n'appeler que la vue à partir de VB. J'ai toujours le même message.
J'ai également essayé de copier le code dans VB, sans succès.
Merci de vos réponses.
Stéphane
"Stephane Le Tr?is" a écrit dans le message de news:
Bonjour
J'ai créé une fonction public dans un module dans ma base access. Lorsque je lance cette fonction à partir d'Access, elle s'exécute correctement. Quand, je la lance à partir de VB par contre, j'obtiens un message d'erreur : "Fonction ... non définie dans l'expression." Lorsque j'appelle de la même manière ( recordset.open "select * from fonction() par exemple ) une fonction access intégrée, pas de problème à partir de VB.
Comment puis-je faire pour utiliser ma fonction perso à partir de VB ?
Merci pour vos éclaicissements :-)
Hmm, pour la requête, il fallait lire : "Select fonction(paramètres,...)
from table", toutes mes excuses.
En fait, c'est lorsque j'appelle la fonction au sein d'une requête à partir
de Visual Basic que j'ai mon erreur.
J'ai également essayé d'appeler cette fonction à partir d'une vue dans
Access, puis de n'appeler que la vue à partir de VB. J'ai toujours le même
message.
J'ai également essayé de copier le code dans VB, sans succès.
Merci de vos réponses.
Stéphane
"Stephane Le Tr?is" <stephane.letreis@carm2i.fr> a écrit dans le message de
news:8e637cf0.0405040347.424aa373@posting.google.com...
Bonjour
J'ai créé une fonction public dans un module dans ma base access.
Lorsque je lance cette fonction à partir d'Access, elle s'exécute
correctement.
Quand, je la lance à partir de VB par contre, j'obtiens un message
d'erreur : "Fonction ... non définie dans l'expression."
Lorsque j'appelle de la même manière ( recordset.open "select * from
fonction() par exemple ) une fonction access intégrée, pas de problème
à partir de VB.
Comment puis-je faire pour utiliser ma fonction perso à partir de VB ?
Hmm, pour la requête, il fallait lire : "Select fonction(paramètres,...) from table", toutes mes excuses. En fait, c'est lorsque j'appelle la fonction au sein d'une requête à partir de Visual Basic que j'ai mon erreur. J'ai également essayé d'appeler cette fonction à partir d'une vue dans Access, puis de n'appeler que la vue à partir de VB. J'ai toujours le même message.
J'ai également essayé de copier le code dans VB, sans succès.
Merci de vos réponses.
Stéphane
"Stephane Le Tr?is" a écrit dans le message de news:
Bonjour
J'ai créé une fonction public dans un module dans ma base access. Lorsque je lance cette fonction à partir d'Access, elle s'exécute correctement. Quand, je la lance à partir de VB par contre, j'obtiens un message d'erreur : "Fonction ... non définie dans l'expression." Lorsque j'appelle de la même manière ( recordset.open "select * from fonction() par exemple ) une fonction access intégrée, pas de problème à partir de VB.
Comment puis-je faire pour utiliser ma fonction perso à partir de VB ?
Merci pour vos éclaicissements :-)
Xavier HUE
Bonjour Stéphane,
Une piste: Ta fonction est-elle créée dans un module de formulaire ou d'état? Si oui, déplace là dans un module standard.
Cordialement.
Bonjour Stéphane,
Une piste: Ta fonction est-elle créée dans un module de
formulaire ou d'état?
Si oui, déplace là dans un module standard.
Une piste: Ta fonction est-elle créée dans un module de formulaire ou d'état? Si oui, déplace là dans un module standard.
Cordialement.
Pierre CFI [mvp]
bonjour tu peux donner le code ou il y a cette req avec ta fonction ?
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Stéphane Le Tréis" a écrit dans le message de news:c787e2$1i2$
Hmm, pour la requête, il fallait lire : "Select fonction(paramètres,...) from table", toutes mes excuses. En fait, c'est lorsque j'appelle la fonction au sein d'une requête à partir de Visual Basic que j'ai mon erreur. J'ai également essayé d'appeler cette fonction à partir d'une vue dans Access, puis de n'appeler que la vue à partir de VB. J'ai toujours le même message.
J'ai également essayé de copier le code dans VB, sans succès.
Merci de vos réponses.
Stéphane
"Stephane Le Tr?is" a écrit dans le message de news:
Bonjour
J'ai créé une fonction public dans un module dans ma base access. Lorsque je lance cette fonction à partir d'Access, elle s'exécute correctement. Quand, je la lance à partir de VB par contre, j'obtiens un message d'erreur : "Fonction ... non définie dans l'expression." Lorsque j'appelle de la même manière ( recordset.open "select * from fonction() par exemple ) une fonction access intégrée, pas de problème à partir de VB.
Comment puis-je faire pour utiliser ma fonction perso à partir de VB ?
Merci pour vos éclaicissements :-)
bonjour
tu peux donner le code ou il y a cette req avec ta fonction ?
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Stéphane Le Tréis" <stephane.letreis@carm2i.fr> a écrit dans le message de news:c787e2$1i2$1@s1.read.news.oleane.net...
Hmm, pour la requête, il fallait lire : "Select fonction(paramètres,...)
from table", toutes mes excuses.
En fait, c'est lorsque j'appelle la fonction au sein d'une requête à partir
de Visual Basic que j'ai mon erreur.
J'ai également essayé d'appeler cette fonction à partir d'une vue dans
Access, puis de n'appeler que la vue à partir de VB. J'ai toujours le même
message.
J'ai également essayé de copier le code dans VB, sans succès.
Merci de vos réponses.
Stéphane
"Stephane Le Tr?is" <stephane.letreis@carm2i.fr> a écrit dans le message de
news:8e637cf0.0405040347.424aa373@posting.google.com...
Bonjour
J'ai créé une fonction public dans un module dans ma base access.
Lorsque je lance cette fonction à partir d'Access, elle s'exécute
correctement.
Quand, je la lance à partir de VB par contre, j'obtiens un message
d'erreur : "Fonction ... non définie dans l'expression."
Lorsque j'appelle de la même manière ( recordset.open "select * from
fonction() par exemple ) une fonction access intégrée, pas de problème
à partir de VB.
Comment puis-je faire pour utiliser ma fonction perso à partir de VB ?
bonjour tu peux donner le code ou il y a cette req avec ta fonction ?
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Stéphane Le Tréis" a écrit dans le message de news:c787e2$1i2$
Hmm, pour la requête, il fallait lire : "Select fonction(paramètres,...) from table", toutes mes excuses. En fait, c'est lorsque j'appelle la fonction au sein d'une requête à partir de Visual Basic que j'ai mon erreur. J'ai également essayé d'appeler cette fonction à partir d'une vue dans Access, puis de n'appeler que la vue à partir de VB. J'ai toujours le même message.
J'ai également essayé de copier le code dans VB, sans succès.
Merci de vos réponses.
Stéphane
"Stephane Le Tr?is" a écrit dans le message de news:
Bonjour
J'ai créé une fonction public dans un module dans ma base access. Lorsque je lance cette fonction à partir d'Access, elle s'exécute correctement. Quand, je la lance à partir de VB par contre, j'obtiens un message d'erreur : "Fonction ... non définie dans l'expression." Lorsque j'appelle de la même manière ( recordset.open "select * from fonction() par exemple ) une fonction access intégrée, pas de problème à partir de VB.
Comment puis-je faire pour utiliser ma fonction perso à partir de VB ?
Merci pour vos éclaicissements :-)
Stéphane Le Tréis
Hélas, j'ai bien placé ma fonction dans un module standard.
Merci quand même pour la piste.
Cordialement
"Xavier HUE" a écrit dans le message de news:824b01c431e1$d0061a40$ Bonjour Stéphane,
Une piste: Ta fonction est-elle créée dans un module de formulaire ou d'état? Si oui, déplace là dans un module standard.
Cordialement.
Hélas, j'ai bien placé ma fonction dans un module standard.
Merci quand même pour la piste.
Cordialement
"Xavier HUE" <elxavpub@bupfree.fr> a écrit dans le message de
news:824b01c431e1$d0061a40$a301280a@phx.gbl...
Bonjour Stéphane,
Une piste: Ta fonction est-elle créée dans un module de
formulaire ou d'état?
Si oui, déplace là dans un module standard.
en exécution, donc, vb plante sur l'ouverture du recordset. Si je fais un "copier-coller" de ma chaine SQL et que je la joue dans Access, pas de problème.
Merci
"Pierre CFI [mvp]" a écrit dans le message de news:%
bonjour tu peux donner le code ou il y a cette req avec ta fonction ?
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Stéphane Le Tréis" a écrit dans le message de news:c787e2$1i2$
Hmm, pour la requête, il fallait lire : "Select fonction(paramètres,...) from table", toutes mes excuses. En fait, c'est lorsque j'appelle la fonction au sein d'une requête à partir
de Visual Basic que j'ai mon erreur. J'ai également essayé d'appeler cette fonction à partir d'une vue dans Access, puis de n'appeler que la vue à partir de VB. J'ai toujours le même
message.
J'ai également essayé de copier le code dans VB, sans succès.
Merci de vos réponses.
Stéphane
"Stephane Le Tr?is" a écrit dans le message de
news:
Bonjour
J'ai créé une fonction public dans un module dans ma base access. Lorsque je lance cette fonction à partir d'Access, elle s'exécute correctement. Quand, je la lance à partir de VB par contre, j'obtiens un message d'erreur : "Fonction ... non définie dans l'expression." Lorsque j'appelle de la même manière ( recordset.open "select * from fonction() par exemple ) une fonction access intégrée, pas de problème à partir de VB.
Comment puis-je faire pour utiliser ma fonction perso à partir de VB ?
Merci pour vos éclaicissements :-)
J'ai simplifié la requête à l'extrême (normalement la fonction doit me
renvoyer un montant pour un cours de devise et à une date précis)
coté Access j'ai ça :
Option Compare Database
Public Function montant_comptable(v_montant As Integer, v_devise As Integer)
As Integer
montant_comptable = v_montant * v_devise
End Function
coté vb :
Private Sub Command1_Click()
Dim Sql As String
Dim rs As New ADODB.Recordset
en exécution, donc, vb plante sur l'ouverture du recordset. Si je fais un
"copier-coller" de ma chaine SQL et que je la joue dans Access, pas de
problème.
Merci
"Pierre CFI [mvp]" <XXX_pierresalaun@aol.com> a écrit dans le message de
news:%233KlmEeMEHA.140@TK2MSFTNGP09.phx.gbl...
bonjour
tu peux donner le code ou il y a cette req avec ta fonction ?
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Stéphane Le Tréis" <stephane.letreis@carm2i.fr> a écrit dans le message
de news:c787e2$1i2$1@s1.read.news.oleane.net...
Hmm, pour la requête, il fallait lire : "Select fonction(paramètres,...)
from table", toutes mes excuses.
En fait, c'est lorsque j'appelle la fonction au sein d'une requête à
partir
de Visual Basic que j'ai mon erreur.
J'ai également essayé d'appeler cette fonction à partir d'une vue dans
Access, puis de n'appeler que la vue à partir de VB. J'ai toujours le
même
message.
J'ai également essayé de copier le code dans VB, sans succès.
Merci de vos réponses.
Stéphane
"Stephane Le Tr?is" <stephane.letreis@carm2i.fr> a écrit dans le message
de
J'ai créé une fonction public dans un module dans ma base access.
Lorsque je lance cette fonction à partir d'Access, elle s'exécute
correctement.
Quand, je la lance à partir de VB par contre, j'obtiens un message
d'erreur : "Fonction ... non définie dans l'expression."
Lorsque j'appelle de la même manière ( recordset.open "select * from
fonction() par exemple ) une fonction access intégrée, pas de problème
à partir de VB.
Comment puis-je faire pour utiliser ma fonction perso à partir de VB ?
en exécution, donc, vb plante sur l'ouverture du recordset. Si je fais un "copier-coller" de ma chaine SQL et que je la joue dans Access, pas de problème.
Merci
"Pierre CFI [mvp]" a écrit dans le message de news:%
bonjour tu peux donner le code ou il y a cette req avec ta fonction ?
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Stéphane Le Tréis" a écrit dans le message de news:c787e2$1i2$
Hmm, pour la requête, il fallait lire : "Select fonction(paramètres,...) from table", toutes mes excuses. En fait, c'est lorsque j'appelle la fonction au sein d'une requête à partir
de Visual Basic que j'ai mon erreur. J'ai également essayé d'appeler cette fonction à partir d'une vue dans Access, puis de n'appeler que la vue à partir de VB. J'ai toujours le même
message.
J'ai également essayé de copier le code dans VB, sans succès.
Merci de vos réponses.
Stéphane
"Stephane Le Tr?is" a écrit dans le message de
news:
Bonjour
J'ai créé une fonction public dans un module dans ma base access. Lorsque je lance cette fonction à partir d'Access, elle s'exécute correctement. Quand, je la lance à partir de VB par contre, j'obtiens un message d'erreur : "Fonction ... non définie dans l'expression." Lorsque j'appelle de la même manière ( recordset.open "select * from fonction() par exemple ) une fonction access intégrée, pas de problème à partir de VB.
Comment puis-je faire pour utiliser ma fonction perso à partir de VB ?
Merci pour vos éclaicissements :-)
machin
Bonjour,
Stéphane Le Tréis wrote: | Hélas, j'ai bien placé ma fonction dans un module standard. | | Merci quand même pour la piste. | | Cordialement |
Si ta fonction s'appelle "bidule", renomme le module en BasBidule.
Il ne faut pas donner à un objet access le nom d'une fonction. Par exemple, on évitera de nommer un nom "Name" car c'est une fonction d'Access. Idem pour les fonctions perso, le module doit avoir un nom différent des fonctions que lui ou un autre module contient.
A+
Bonjour,
Stéphane Le Tréis wrote:
| Hélas, j'ai bien placé ma fonction dans un module standard.
|
| Merci quand même pour la piste.
|
| Cordialement
|
Si ta fonction s'appelle "bidule", renomme le module en BasBidule.
Il ne faut pas donner à un objet access le nom d'une fonction.
Par exemple, on évitera de nommer un nom "Name" car c'est une fonction d'Access.
Idem pour les fonctions perso, le module doit avoir un nom différent des fonctions
que lui ou un autre module contient.
Stéphane Le Tréis wrote: | Hélas, j'ai bien placé ma fonction dans un module standard. | | Merci quand même pour la piste. | | Cordialement |
Si ta fonction s'appelle "bidule", renomme le module en BasBidule.
Il ne faut pas donner à un objet access le nom d'une fonction. Par exemple, on évitera de nommer un nom "Name" car c'est une fonction d'Access. Idem pour les fonctions perso, le module doit avoir un nom différent des fonctions que lui ou un autre module contient.
A+
Stéphane Le Tréis
Je ne crois pas que ce soit ça, mon module s'appelle ModuleFonctions et ma fonction répond au doux nom de Montant_Comptable ().
Merci quand même, ça m'a permis de résoudre un autre problème au passage :-)
Stef
"machin" <incognito ;-)> a écrit dans le message de news:
Si ta fonction s'appelle "bidule", renomme le module en BasBidule.
Il ne faut pas donner à un objet access le nom d'une fonction. Par exemple, on évitera de nommer un nom "Name" car c'est une fonction d'Access.
Idem pour les fonctions perso, le module doit avoir un nom différent des fonctions
que lui ou un autre module contient.
A+
Je ne crois pas que ce soit ça, mon module s'appelle ModuleFonctions et ma
fonction répond au doux nom de Montant_Comptable ().
Merci quand même, ça m'a permis de résoudre un autre problème au passage :-)
Stef
"machin" <incognito ;-)> a écrit dans le message de
news:enWcqdfMEHA.3216@TK2MSFTNGP12.phx.gbl...
Si ta fonction s'appelle "bidule", renomme le module en BasBidule.
Il ne faut pas donner à un objet access le nom d'une fonction.
Par exemple, on évitera de nommer un nom "Name" car c'est une fonction
d'Access.
Idem pour les fonctions perso, le module doit avoir un nom différent des
fonctions
Je ne crois pas que ce soit ça, mon module s'appelle ModuleFonctions et ma fonction répond au doux nom de Montant_Comptable ().
Merci quand même, ça m'a permis de résoudre un autre problème au passage :-)
Stef
"machin" <incognito ;-)> a écrit dans le message de news:
Si ta fonction s'appelle "bidule", renomme le module en BasBidule.
Il ne faut pas donner à un objet access le nom d'une fonction. Par exemple, on évitera de nommer un nom "Name" car c'est une fonction d'Access.
Idem pour les fonctions perso, le module doit avoir un nom différent des fonctions
que lui ou un autre module contient.
A+
Stéphane Le Tréis
Bon, apparemment, on ne peut pas utiliser une fonction "perso" en dehors d'Access. On ne peut utiliser que les fonctions intégrées, et encore, pas toutes d'après ce que j'ai compris...
Quelques renseignements là pour ceux que ça intéresse. (sites en Anglais)
Bon, apparemment, on ne peut pas utiliser une fonction "perso" en dehors
d'Access. On ne peut utiliser que les fonctions intégrées, et encore, pas
toutes d'après ce que j'ai compris...
Quelques renseignements là pour ceux que ça intéresse. (sites en Anglais)
Bon, apparemment, on ne peut pas utiliser une fonction "perso" en dehors d'Access. On ne peut utiliser que les fonctions intégrées, et encore, pas toutes d'après ce que j'ai compris...
Quelques renseignements là pour ceux que ça intéresse. (sites en Anglais)