Problème de App.Path vb6 [Résolu]

Signaler
Messages postés
34
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
17 janvier 2008
-
 mortalino -
Salut à tous, encore une fois j'ai des soucis avec mon appli
Voila avant que je mette l'app.path, cela marchait bien, mais la je viens d'essayer app.path (car cette appli est destinée à un autre utilisateur) mais cela ne fonctionne pas, pourtant la syntaxe est correcte (enfin je crois)....

Private Sub Btnval_Click()
adrca = App.Path & "\Gestion stock\Catégories\Réserve Cadeaux" & Textnmpdt & ".text"
adrbo = App.Path & "\Gestion stock\Catégories\Réserve Boissons" & Textnmpdt & ".text"
adrhr = App.Path & "\Gestion stock\Catégories\Hors Réserve" & Textnmpdt & ".text"
If Textnmpdt.Text = "" Then
    MsgBox "Veuillez donner un nom au produit"
    Else
    If Textpxpdt.Text = "" Then
        MsgBox "Veuillez donner un prix au produit"
        Else
        Select Case Listcat.Text
            Case "Réserve Cadeaux"
                Open adrca For Output As #1
                Print #1, Textnmpdt.Text & "|" & Textpxpdt.Text
                Close #1
                MsgBox ("Produit ajouté")
                Textnmpdt = ""
                Textpxpdt = ""
                Listcat = ""
            Case "Réserve Boissons"
                Open adrbo For Output As #1
                Print #1, Textnmpdt.Text & "|" & Textpxpdt.Text
                Close #1
                MsgBox ("Produit ajouté")
                Textnmpdt = ""
                Textpxpdt = ""
                Listcat = ""
            Case "Hors Réserve"
                Open adrhr For Output As #1
                Print #1, Textnmpdt.Text & "|" & Textpxpdt.Text
                Close #1
                MsgBox ("Produit ajouté")
                Textnmpdt = ""
                Textpxpdt = ""
                Listcat = ""
            Case Else: MsgBox "Veuillez sélectionner une catégorie"
        End Select
    End If
End If
End Sub

les "drca, adrbo et adrhr" sont déclarées dans option explicit, lorsque je lance donc l'appli et lorsque cela doit enregistrer le fichier, cela me marque "path not found"
S'il vous plaît aidez moi!
Merci

26 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
en ce cas, choucroute62, fais :

adrca = App.Path & "\Catégories\Réserve Cadeaux" & Textnmpdt & ".text"
adrbo = App.Path & "\Catégories\Réserve Boissons" & Textnmpdt & ".text"
adrhr = App.Path & "\Catégories\Hors Réserve" & Textnmpdt & ".text"

et non

adrca = App.Path & "\Gestion stock\Catégories\Réserve Cadeaux" & Textnmpdt & ".text"
adrbo = App.Path & "\Gestion stock\Catégories\Réserve Boissons" & Textnmpdt & ".text"
adrhr = App.Path & "\Gestion stock\Catégories\Hors Réserve" & Textnmpdt & ".text"
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
47
Salut,
Je suppose que l'erreur survient lorsque tu essaies Open?

Mais un Msgbox contenant le chemin entier juste avant l'instruction Open et regarde si à ce moment le fichier existe bien sur le disque.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Salut,

j'ai pas lu le code mais si App.Path est sensé etre égale à  C:\, je crois que ca génére un souci.
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Le mieux est de mettre le chemin dans un textbox et de copier ensuite le contenu dans l'explorateur Windows et de voir si ca correspond bien a ce que tu cherches.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Chemin, non touvé....Est-ce sur l'autre pc, le répertoires ou tu vas chercher tes fichiers existent bien ? Déjà à vérifier je pense de ce côté là...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
idem, je dirai que tes repertoires n'existent pas....

utilise MkDir :


MkDir App.Path & "\Gestion stock\Catégories\Réserve Cadeaux"
MkDir App.Path & "\Gestion stock\Catégories\Réserve Boissons"
MkDir App.Path & "\Gestion stock\Catégories\Hors Réserve"


en déclarant :

Private Declare Function MkDir Lib "imagehlp.dll" Alias "MakeSureDirectoryPathExists" (ByVal lpPath As String) As Long
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
6
Salut si app.path = "C:"

fait un msgbox comme l'a dit jrivet pour voir le chemin.

c'est:
adrca = App.Path & "Gestion stock\Catégories\Réserve Cadeaux" & Textnmpdt & ".text"
et non:
adrca = App.Path & "\Gestion stock\Catégories\Réserve Cadeaux" & Textnmpdt & ".text"

 Drikce 06
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
nb, je sais que VB propose une fonction MkDir, mais elle a le facheux inconvénient de ne créer que le dernier repertoire (et non l'arborescence)

dans ton cas, par exemple, 'Reserve Cadeaux' ne serait créé que si 'Gestion stock\Catégories\' existe sur ton disque...
Messages postés
46
Date d'inscription
jeudi 17 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013

Bonjour,

J'attire ton attention que si tu es dans l'interface vb tout dépend de comment tu as ouvert ton code
si tu a lancer vb puis ouvert ton projet le app.path est celui du programme vb, soit c:\program ...

si tu as double_clické sur ton vbp, alors c'est le dossier du projet,

maintenant en mode compilé, c'est le "Démarrer dans" des propriétés du raccourci.

Etienne
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
NON, le App.Path est le repertoire de l'Exe en mode compilé, ou du .VBP en mode VB

quelle que soit là facon dont tu a lancé ton projet !
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
hublet, tu semble confondre avec la fonction CurDir (API GetCurrentDirectory)
Messages postés
34
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
17 janvier 2008

Ba je fait le test en lanceant vb sur le pc sur lequel je développe le chemin d'origine est
C:\Documents and Settings\stage\Bureau\Moi\Projet VB Mairie\Gestion stock\Catégories\Réserve Cadeaux
Et ce que je ne comprends pas c'est que le dossier existe, il devrait pas y avoir de problème, c'est l'écriture du fichier qui est embetante et qui me marque l'erreur de path not found
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
OK mais tu ne fais pas ce qu'on te propose de faire, relie car sinon on avancera pas.
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Si tu fais

msgbox app.path

obtiens tu cela ?

C:\Documents and Settings\stage\Bureau\Moi\Projet VB Mairie\
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
vu que tu fais des Output, si tu faisait un MkDir comme je te le suggère, au pire, il écrirait pas où il faut (ou tu le souhaites)

mais il ecrirait bel et bien....
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Car dans ce cas, comme te l'as dis Dricke06,

VB va chercher ce chemin la,

C:\Documents and Settings\stage\Bureau\Moi\Projet VB Mairie\\Gestion stock\Catégories\Réserve Cadeaux\
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
21
Bonjour à tous,

c'est écident, apparemment :

"adrca = App.Path & "\Gestion stock\Catégories\Réserve Cadeaux" & Textnmpdt & ".text""

Texttnmpdt est un contrôle (et en plus pas forcément déjà complété à ce stade !!!)

En plus : Textnmpdt.text serait quand même plus orthodoxe !
Messages postés
34
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
17 janvier 2008

Attendais je vais mettre le dossier dans un autre répertoire, j'en ait pour une minute
Messages postés
34
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
17 janvier 2008

J'ai essayé la msgbox avant l'instruction open, cela m'indique un chemin qui est incomplet et ensuite j'ai l'erreur path not found
Le chemin que m'indique la msgbox est C:\Projet VB Mairie\Gestion stock au lieu de C:\Projet VB Mairie\Gestion stock\Réserve Cadeaux (j'ai changé d'emplacement du dossier)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
tu te méprend Nicko11, App.Path ne renvoie pas de '\' final (sauf pour 'C:\')