{Access} pb d'ouverture d'un pdf depuis 1 liste dé

Fermé
maatma Messages postés 2 Date d'inscription jeudi 21 janvier 2010 Statut Membre Dernière intervention 19 février 2010 - 19 févr. 2010 à 15:27
 Utilisateur anonyme - 19 févr. 2010 à 18:22
Bonjour,

Débutant sous access, j'ai créé une base de données dans laquelle j'ai des listes déroulantes avec des noms de documents. (ces documents sont tous classés dans le même dossier). Je souhaiterai pouvoir ouvrir ces documents en cliquant sur un bouton une fois le document selectionné ds la liste déroulante. Voici ce que j'ai fais :

Private Sub Commande4_Click()
Dim Chemin, Fichier, Prog, ret, Absolu As String

Absolu = "C:\Documents PDF\Documents\"

Fichier = Me.Form(ListeChoix)

'On ne continue que si un fichier a été sélectionné.
If Fichier <> "" Then

'Association des chemins absolu et relatif pour obtenir le chemin complet vers le fichier.
Chemin = Absolu & Fichier & ".pdf"

Prog = "C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe"

'Execution du fichier situé à l'emplacement "Chemin" avec son programme par défaut.

ret = Shell(Prog, 1) & ret = Shell(Chemin, 1)

Else
MsgBox "Aucun fichier sélectionné"
End If

End Sub

Le problème c'est que ça ne marche pas, ça m'ouvre juste Adobe sans le fichier séléctionné et ca me met un message d'erreur : "Erreur d'execution 5" Argument ou appel de procédure incorrect"

Merci pour votre aide !
A voir également:

2 réponses

blux Messages postés 26536 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
19 févr. 2010 à 16:09
Salut,

pourquoi appelles-tu deux shell ? C'est la cause de ton erreur, je pense.

Si l'extension .pdf est bien enregistrée au niveau windows, tu ne devrais avoir besoin que du nom complet du document.

As-tu essayé ret = shell(chemin,1) ?

Sinon, il faut concaténer le nom du programme et le document, AVANT de faire un shell (mais toujours un seul, hein ?!)
0
Utilisateur anonyme
19 févr. 2010 à 18:22
D'accord avec blux : tu dois au préalable concaténer ton exécutable et ton fichier à ouvrir.
Attention : l'utilisation des guillemets est indispensable pour éviter les merdes si l'un des deux chemins contient des espaces.
Il faut donc concaténer ainsi :

LigneCommandeShell = chr(34) & prog & chr(34) & " " & chr(34) & chemin & chr(34)
Shell LigneCommandeShell
0