IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Récupérer les propriétés d'un OLE


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Points : 25
    Points
    25
    Par défaut Récupérer les propriétés d'un OLE
    Bonjour à tous!
    Je manipule depuis peu les objets OLE sur Access et j'aimerais, lorsque j'insère un Objet OLE dans un formulaire, pouvoir récupérer en VBA, des informations sur cet OLE. Je souhaiterais particulièrement récupérer le chemin d'accès à cet OLE par des commandes VBA.
    Je m'explique, des milliers d'OLE sont déjà stockés dans la base de données de mon entreprise. Et, pour éviter d'aller rechercher tous les liens manuellement, j'aimerai savoir si je peux récupérer le lien de chaque OLE par la programmation VBA.
    Si quelqu'un a une idée sur le sujet, je suis preneur! Merci à tous!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pourrais-tu nous dire quel type de fichier Ole tu mets dans tes tables ?
    Comment les intégres tu dans ta base ?
    De quelle manière tu récupéres les liens manuellement ?

    Et qu'elle version d'Access.

    Starec

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Bonjour Starec, merci de ta réponse et désolé de ma réponse aussi tardive!
    J'attendais le retour de mon maître d'apprentissage.
    Voilà, je répond à tes questions:
    • Pourrais-tu nous dire quel type de fichier Ole tu mets dans tes tables ?

    =====> Des fichiers PDF
    • Comment les intégres tu dans ta base ?

    =====> Je crée un champ ole et ensuite par copier coller avec la liaison
    • De quelle manière tu récupéres les liens manuellement ?

    =====> Je double clique sur le fichier, ensuite le fichier s'ouvre et je vais dans les propriétés du document.

    Comment récupérer le chemin par du code VBA?

    Ma version d'Access est la 2007
    Merci beaucoup, toutes les réponses sont les bienvenues!

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Apparemment, le sujet n'intéresse pas grand monde..
    S'il vous plaît aidez moi!

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je t'avoue que je n'utilise pas les objets OLE dans une base pour la raison suivante, c'est que cela alourdit trés trés vite la base.

    Ce que je fais c'est que je mets le chemin du fichier dans un champ texte.

    J'ai réalisé il y'a quelque temps une application devant gérée une DVDthèque d'un CE.
    Il fallait visualiser les affiches de film, j'ai juste mis le chemin de l'affiche et je l'affichait à chaque besoin dans un contrôle image.

    En procédant de cette manière ta base est allégée, et pour le chemin de l'image tu l'as directement dans le champ.

    Donc en conclusion, je ne sais pas récupéré le chemin

    Starec

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Ok, merci. Je vais essayer de me débrouiller. La base de données existant déjà avec des OLE, je récupérerai les chemins manuellement! Puis, à terme , je ne ferai plus appel à des OLE.
    Merci à l'équipe,

  7. #7
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Bjr,

    A essayer : la fonction GetLinkedPath sur cette page :
    http://support.microsoft.com/kb/311147/fr

  8. #8
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Merci!! Ca a l'air intéressant! Je vais travailler ça. Merci encore!

  9. #9
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Yesss!!! Enfin! j'ai réussi! Merci Arkham46, t'es un boss!!
    Je vous mets le code si vous rencontrez le même problème:

    Dans un premier temps je mets ça dans un module:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Function GetLinkedPath(objOLE As Variant) As Variant
    Dim strChunk As String
    Dim pathStart As Long
    Dim pathEnd As Long
    Dim path As String
    If Not IsNull(objOLE) Then
        'Convert string to Unicode.
        strChunk = StrConv(objOLE, vbUnicode)
        pathStart = InStr(1, strChunk, ":\", 1) - 1
     
        'If mapped drive path is not found, try UNC path.
        If pathStart <= 0 Then pathStart = InStr(1, strChunk, "\\", 1)
     
        'If either drive letter path or UNC path is found, determine
        'the length of the path by searching for the first null
        'character Chr(0) after the path was found.
        If pathStart > 0 Then
            pathEnd = InStr(pathStart, strChunk, Chr(0), 1)
            path = Mid(strChunk, pathStart, pathEnd - pathStart)
            GetLinkedPath = path
            Exit Function
        End If
    Else
        GetLinkedPath = Null
    End If
    End Function
    et ensuite je fais un petit click sur mon OLE avec comme code, le code ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub PlanPDFColisage_Click()
    Dim CheminOLE As Variant
        CheminOLE = GetLinkedPath(PlanPDFColisage)
        MsgBox ("Voici le chemin de votre fichier OLE :" & vbCrLf & CheminOLE)
    End Sub
    Et il m'affiche le chemin de mon OLE dans un message box. Donc, après libre à vous d'en faire ce que vous voulez!

    Merci encore, vous ne savez pas ce que ça me fait gagner comme temps cette fonction!!

  10. #10
    Invité
    Invité(e)
    Par défaut


    Merci pour le code. Par contre je te déconseille quand même le stockage de fichiers dans les champs OLE, à cause de ta base qui va gonfler.

    Starec

  11. #11
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Oui, justement! C'est d'ailleurs pour ça que j'avais besoin de récupérer les chemins. Car c'est sur une base déjà existante qui a atteint la taille maximale (2Go) à cause des OLE. Grâce à cette fonction je vais pouvoir récupérer tous les chemins de mes OLE et ainsi alléger ma base.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer les propriétés d'un document
    Par M.L.G. dans le forum Général Python
    Réponses: 2
    Dernier message: 16/06/2008, 12h09
  2. [FPDF] récupérer les propriétés d'un document pdf
    Par kitch18 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/02/2008, 12h04
  3. Récupérer les propriétés de la page parent
    Par zooffy dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/11/2007, 17h23
  4. Récupérer les propriétés d'un fichier avec GtkFileChooser
    Par yodo21 dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 26/10/2006, 17h30
  5. Récupérer les propriétés d'un PDF
    Par nonaparus dans le forum Contribuez
    Réponses: 3
    Dernier message: 24/08/2006, 12h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo