bonjour,
je n'arrive pas à me connecter à ma base access, quand mon code pour la connection est dans un fichier include qui s'appele traitement.inc. Mais quand je met ce code dans ma page asp la connection fonctionne.
en fait, comme il m'etait un pronleme sur l'objet Conn, je l'ai declarer dans ma pages ASP c'est a dire :
j'ai mis : Set Conn = Server.CreateObject("ADODB.Connection")
et ma fonction est maintenant :
function connecter()
Conn.Open "provider= Microsoft.jet.oledb.4.0;data source="& Server.MapPath("../")&"/formation/Formations.mdb"
end function
Et la déclaration de ton objet Conn (le Set Conn = ...) se trouve où ? dans ta page ou dans l'include ?
Néanmoins c'est bizarre...
tu es sûr que ton Conn est bien déclaré quelque part ?
dans mon fichier que j'inclus (traitement.inc) j'ai :
function connecter()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "provider= Microsoft.jet.oledb.4.0;data source="& Server.MapPath("../") &"/formation/Formations.mdb"
end function
Et où appelles-tu ta fonction "connecter" ??
parce que, tant que tu ne l'appelles pas (après l'avoir déclarée évidemment ) et bien, ton objet Conn n'existe pas !!
Si tu l'appelles après l'include, ça veut dire que dans l'include, ton objet Conn n'existe pas !! Tu dois forcément l'appeler avant, et donc définir ta fonction encore avant !
Un include fonctionne exactement comme si tu faisais un copier-coller du contenu dans ta page !
donc si dans l'include tu as ça :
function connecter()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "provider= Microsoft.jet.oledb.4.0;data source="& Server.MapPath("../") &"/formation/Formations.mdb"
end function
et qu'un peu plus bas, tu vas l'utiliser (par exemple avec un Conn.Execute(SQL) )
Il faut obligatoirement que tu fasses un appel à la fonction connecter() avec d'utiliser Conn !! Tu dois donc appeller (dans l'include) la fonction connecter() et ne plus l'appeller null part dans l'include ni dans la page !
(Bon, si tu n'as toujours pas compris ce que j'essaye d'expliquer , le plus simple est d'enlever la fonction, de remplacer ça :
function connecter()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "provider= Microsoft.jet.oledb.4.0;data source="& Server.MapPath("../") &"/formation/Formations.mdb"
end function
par ça :
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "provider= Microsoft.jet.oledb.4.0;data source="& Server.MapPath("../") &"/formation/Formations.mdb"
mais bon, c'est toi qui vois...)