Visualiser un fichier.pdf depuis un formulaire Access 2010

Pinocchio4340 Messages postés 1 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Via un bouton dans un formulaire Access, j'arrive à visualiser un document .pdf mais uniquement si j'indique le nom complet de ce fichier dans mon code.
Tous mes fichiers .pdf sont stockés sur un NAS.

Je cherche par exemple à afficher : facture 20200215 Tartempion Claude.pdf qui se trouve dans le répertoire Z:\Michel\Documents

Ci-dessous le code utilisé ( + bien sûr la déclaration de ma fonction ShellExecute)

Private Sub MonBouton_Click()
Dim Chemin, Fichier, Absolu As String

Absolu = "Z:\Michel\Documents\"

'Si j'indique le nom complet du pdf complet, cela fonctionne très bien

Fichier = "facture 20200215 Tartempion Claude" & ".pdf"

'Mais j'aimerais n'utiliser QUE le N° de facture comme critère de recherche. je pensais qu'en procédant comme ci-dessous, cela fonctionnerait, mais non. Je ne suis pas un expert et je croyais que le caractère générique * pouvait remplacer une chaîne de caractères.

Fichier = "*" & "20200215" & "*" & ".pdf"

'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

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

ShellExecute Me.hwnd, vbNullString, Chemin, "", vbNullString, 1

Else

MsgBox "Aucun fichier sélectionné"

End If

End Sub

Merci pour votre aide et veillez bien sur vous et vos proches.

Michel

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    le caractère générique * pouvait
    Ben si aucun probleme.
    Mais pas possible d'ouvrir un fichier avec "*", il faut le nom complet.
    Pour l'avoir, passez par une commande Dir.

    une facon de faire:

    Private Sub MonBouton_Click()
        Dim Chemin, Fichier, Absolu As String, Nom_Fichier
    
        Absolu = "Z:\Michel\Documents\"
        'Si j'indique le nom complet du pdf complet, cela fonctionne tr?s bien
        'Fichier = "facture 20200215 Tartempion Claude" & ".pdf"
        'Mais j'aimerais n'utiliser QUE le N? de facture comme crit?re de recherche. je pensais qu'en proc?dant comme ci-dessous, cela fonctionnerait, mais non. Je ne suis pas un expert et je croyais que le caract?re g?n?rique * pouvait remplacer une cha?ne de caract?res.
        Fichier = "*" & "20200215" & "*.pdf"
        Nom_Fichier = Dir(Absolu & Fichier)
        'On ne continue que si un fichier a ?t? s?lectionn?.
        If Nom_Fichier <> "" Then
            'Association des chemins absolu et relatif pour obtenir le chemin complet vers le fichier.
            Chemin = Absolu & Nom_Fichier
            'Execution du fichier situ? ? l'emplacement "Chemin" avec son programme par d?faut.
            ShellExecute Me.Hwnd, vbNullString, Chemin, "", vbNullString, 1
        Else
            MsgBox "Aucun fichier s?lectionn?"
        End If
    End Sub
    
    1