App.Path

Résolu
Signaler
Messages postés
13
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
6 février 2009
-
Messages postés
13
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
6 février 2009
-
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

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
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 
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
Messages postés
13
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
6 février 2009

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.
Messages postés
13
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
6 février 2009

Rectification ! Une erreur de ma part, cela fonctionne bien.
Merci à tous.