App.Path

Résolu
cs_angusyoung Messages postés 13 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 6 février 2009 - 30 oct. 2008 à 17:14
cs_angusyoung Messages postés 13 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 6 février 2009 - 30 oct. 2008 à 18:49
Bonjour. Actuellement mon appli se connecte avec une Bdd Access. Je suis débutant et ai mis le chemin de la connexion en dur ! (Ce qu'il ne faut pas faire !) Voici un exemple :

Function connexion()


    On Error GoTo ErreurOpen


    strCnxn = "Provider=Microsoft.Jet.OLEDB.4.0;strPath= C:\Program Files\Tennis\Tennis.Mdb"
    Set gConnexion = New ADODB.Connection
    gConnexion.Open strCnxn


    Exit Function
   
ErreurOpen:
   
    Screen.MousePointer = vbArrow
   
    MsgBox "Problème d'accès aux données." & Error, vbCritical
   
    End
  
End Function

Comment puis je faire pour que mon programme se connecte à la base de données sur un autre lecteur que C:\
Je débute et n'ai pas tout compris au sujet de App.Path
Je vous remercie.

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 oct. 2008 à 17:38
salut,

strCnxn = "Provider=Microsoft.Jet.OLEDB.4.0;<strike> strPath </strike> = C:\Program Files\Tennis\Tennis.Mdb"

on invente pas les mots à indiquer, la syntaxe de connexion doit respecter une norme :
strCnxn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:\Program Files\Tennis\Tennis.Mdb;"

ensuite pour APP.PATH, çà te retourne le chemin où se trouve l'EXE (ton projet, avant compilation)
en l'occurrence pour avoir le même chemin que tu as mis en dur, il faut que ton EXE soit dans le dossier TENNIS, et donc que la base et l'EXE soient au même niveau

dans ce cas, ta chaîne sera :
strCnxn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & app.path & " \Tennis.Mdb;"

ainsi le chemin sera correct même dans d'autres dossiers, tant que l'exe et la base sont au même niveau

(exception faite pour la racine, avec le "" qui va se doubler mais je crois qu'access l'accepte)
++
<hr size ="2" width="100%" />Prenez un instant pour répondre à [forum/sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 oct. 2008 à 17:37
App.path te renvoie le dossier ou se trouve ton exécutable.

Si ta base se trouve dans le même dossier (ou dans un sous dossier) que l'exécutable, tu peux alors utiliser App.Path sinon il faudra que tu indique le chemin d'une autre manière.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_angusyoung Messages postés 13 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 6 février 2009
30 oct. 2008 à 17:53
Je vous remercie pour cette réponse rapide. La connexion s'établie très bien mais un problème apparait lorsque je veux effectuer un enregistrement d'un joueur par exemple.
0
cs_angusyoung Messages postés 13 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 6 février 2009
30 oct. 2008 à 18:49
Rectification ! Une erreur de ma part, cela fonctionne bien.
Merci à tous.
0
Rejoignez-nous