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

Access Discussion :

objet OLE


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut objet OLE
    bonjour,
    Dans une table, j'ai un champ objet OLE dans lequel je souhaite inserer un fichier Word ...

    Qu'est-ce qui est le mieux,
    attacher le fichier à la base...ou bien creer une sorte de lien pour aller chercher le fichier et l'ouvrir là ou il se trouve??
    De plus quelque soit la méthode choisie, peut-on modifier l'affichage du fichier WORD afin de n'avoir que la lettre (ou la feuille) sans tous les menus du traitement de texte???
    Merci

  2. #2
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut,
    les personnes ayant assez de recul en la matière (donc des pro ce qui n'est absolument pas mon cas)
    te diront qu'il vaut mieux travailler avec des Objets liés.

    Pour l'exploitation des OLE, avec une recherche avancée tu trouveras ton bonheur je pense.
    Je te recommande entre autre les réponses de Arkham46

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut

    Je mettrais dans la table le chemin du fichier, et par Shell (avec le chemin du fichier), j'ouvrirais celui-ci. Comme cela cela n'alourdirait pas ta base.
    Pour les Menus Word je ne sais pas.

    Starec

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut Re: objet OLE
    Bonjour,

    Citation Envoyé par PAUL87
    Qu'est-ce qui est le mieux,
    attacher le fichier à la base...ou bien creer une sorte de lien pour aller chercher le fichier et l'ouvrir là ou il se trouve??
    Un lien pointant sur un répertoire contenant les documents est idéal. Le fait d'incorporer des objets OLE dans la BDD est d'autant plus embêtant à traiter (GetChunk()...) que la base grossie.

    Citation Envoyé par PAUL87
    ...peut-on modifier l'affichage du fichier WORD afin de n'avoir que la lettre (ou la feuille) sans tous les menus du traitement de texte???
    Utiliser une variable objet permettant de créer une instance de Word dans laquelle tu définis le mode d'affichage en plein écran avant de donner la propriété Visible à ton objet Word.

    Argy

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    Bonjour, et merci
    certe un lien qui va chercher le fichier semble idéal, mais il ne faut absolument pas modifier la localisationd e ce fichier.
    Est-ce vraiment si important si la base devient enorme???.......et quels risques ou complications peut-on attendre
    Bon là, j'ai besoin d'aide,.. c'est pas tres clair pour moi..
    Utiliser une variable objet permettant de créer une instance de Word dans laquelle tu définis le mode d'affichage en plein écran avant de donner la propriété Visible à ton objet Word.
    que dois-je faire exactement et où??
    encore merci

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Il n'y a pas de souci de localisation si tu respectes le fait que les documents sont toujours dans un dossier fixe ou dans un sous dossier de l'application.
    Pour ce dernier cas tu peux utilser un truc du style:

    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
    Sub OuvrirDocumentWord(ByVal NomDuDoc As String)
    Const CHEMIN_DOCUMENTS_WORD As String = "\Documents Word\"
    Dim strCheminComplet As String
    Dim strDocumentAOuvrir As String
    Dim oWord As Word.Application
      strCheminComplet = Application.CurrentProject.Path & CHEMIN_DOCUMENTS_WORD
      strDocumentAOuvrir = strCheminComplet & NomDuDoc
      If Dir(strDocumentAOuvrir, 0) = NomDuDoc Then
        Set oWord = New Word.Application
          With oWord
            .Documents.Open strDocumentAOuvrir
            .ActiveWindow.View.FullScreen = True
            .Visible = True
            .WindowState = wdWindowStateMaximize
          End With
      Else
        MsgBox "Document inexistant !", 48
      End If
    End Sub
     
    Sub TestPourVoir()
      OuvrirDocumentWord "MonDocDeTest.doc"
    End Sub
    Cela répond à tes deux questions en plus...
    C'est vendredi, c'est pour ça...

    Argy

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    Merci beaucoup,
    Mais je crois que je prefère que je préfèreque le fichier word soit intégré a la base. ( juste une feulle de comte-rendu...donc pas trop lourd)

    par contre je n'arrive pas a avoir l'affichage souhaité lorsqu'on clique sur l'icone Word.
    est-ce que vous pourriez me préciser le code?
    je dois le placer sur evènement /on click

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    quelqu'un pourrait me fournir plus de précisions svp???
    Merci

  9. #9
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Le choix que tu as pris ne répondra pas à ta question quant à la visu plein écran sans barre d'outils ton document.
    Le fait d'incorporer un objet en base implique que les types MIME soient correctement configurés sur votre PC et sur tous sur lesquels votre application sera installée.
    Si ça ne marche pas, c'est que la liaison OLE n'est pas correctement définie.

    Argy

  10. #10
    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
    slt,

    implique que les types MIME soient correctement configurés
    Heu à ma connaissance les objets MIME c'est pour internet non?

    par contre je n'arrive pas a avoir l'affichage souhaité lorsqu'on clique sur l'icone Word
    quel affichage souhaité?
    quelle icone word??

    Tu intègres ton fichier dans un formulaire ou tu veux l'ouvrir dans une application word indépendante?

  11. #11
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Arkham46
    implique que les types MIME soient correctement configurés
    Heu à ma connaissance les objets MIME c'est pour internet non?
    Oui, mais non...
    Le fait d'associer un type de fichier à une application est exploité aussi bien par les applications issues du Net que celles de ton système.
    Il n'y a pas dans le Registre un type associé à un .xls pour Internet et un autre pour tes raccorcis, ce sont les mêmes mais je te l'accorde, l'emploi du mot MIME est un peu erroné mais significatif.

    Argy

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    Bonjour et merci beaucoup pour vos conseils, avis
    Bien après rélexion, je vais opter pour la solution de fichiers word lies a la base et résidents dans un sous dossier.
    je vais donc essayer d'utiliser le code fourni par MR argyronet.
    mais j'ai besoin de précisions pour cela because suis relativement débutant.
    j'ai un formulaire principal qui me sert à remplir une table..c'est là que j'ai crée un champ objet ole.. que je rempli avec inserer un objet/a partir d'un fichier/liaison/afficher comme un icone.
    j'ai ensuite un formulaire basé sur une requête de recherche(parametrée...le nom de famille par exemple), qui affiche l'icone Word si doc lié
    Donc je souhaite que lorsqu'on clique sur cet icone le fichier lié s'ouvre avec les conditions d'affichage pré-citées.
    Ou dois-je mettre le code et sur quel évènement?
    Merci

  13. #13
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    1/ Eh bien au lieu d'avoir un champ OLE, définissez ce champ de table comme champ texte de 255 caractères. C'est qui contiendra le nom de fichiers des différents documents.
    2/ La requête renvoie tous les enregistrements qui possèdent un nom de fichier.
    3/ Un bouton appelera la procédure d'ouverture du fichier OuvrirDocumentWord() dans lequel vous passerez le paramètre nom_de_fichier renvoyée par la requête.
    4/ La visibilité de ce bouton se fera par code où la propriété Visible sera à True si strNomDuFichier est une variable qui prend la valeur du champ par exemple... Mais il vaut mieux implémenter une routine de vérification de l'existence du fichier (Voir Code source)
    5/ Au niveau événemment, cela donnera quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub BoutonOuvrirDocument_OnClick() 
      OuvrirDocumentWord "MonDocDeTest.doc" 
    End Sub
    Argy

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    Merci,
    c'est un peu ardu pour moi tout ça........
    je suis un peu paumé
    portant je crois que c'est exactement ce qu'il me faut

  15. #15
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    j'ai un formulaire principal qui me sert à remplir une table..c'est là que j'ai crée un champ objet ole.. que je rempli avec inserer un objet/a partir d'un fichier/liaison/afficher comme un icone.
    Au lieu d'insérer un objet OLE (vu que le champ concerné est remplacé par un champ texte), il faut mettre ici le nom du document. Il y a de nombreux exemples sur le forum pour récupérer le nom d'un fichier sélectionné dans une boîte de dialogue Ouvrir
    Mots clés: GetOpenFileName()

    j'ai ensuite un formulaire basé sur une requête de recherche(parametrée...le nom de famille par exemple), qui affiche l'icone Word si doc lié
    Il faut alor modifier la requête en conséquence de la règle:
    1/ Len(NomDuFichier)>0
    2/ FichierExiste(NomDuFichier)

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT MaTable.Champ1, MaTable.Champ2, MaTable.Champ3, MaTable.NomDuFichier
    FROM MaTable
    WHERE ((DocumentWordExiste([NomDuFichier])=-1));
    La fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function DocumentWordExiste(ByVal NomDuDoc As String) As Boolean
    Const CHEMIN_DOCUMENTS_WORD As String = "\Documents Word\"
    Dim strCheminComplet As String
    Dim strDocumentAOuvrir As String
    Dim oWord As Word.Application
      strCheminComplet = Application.CurrentProject.Path & CHEMIN_DOCUMENTS_WORD
      strDocumentAOuvrir = strCheminComplet & NomDuDoc
      DocumentWordExiste = (Dir(strDocumentAOuvrir, 0) = NomDuDoc)
    End Function
    Donc je souhaite que lorsqu'on clique sur cet icone le fichier lié s'ouvre avec les conditions d'affichage pré-citées.
    Voir post précédent

    Argy

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    Bonjour,
    Après quelques heures..............ça fonctionne .......MERCI

  17. #17
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Sujet
    Merci

    Argy

Discussions similaires

  1. [Sources]Récupérer le chemin d'un objet OLE
    Par Mr.Gus dans le forum Contribuez
    Réponses: 9
    Dernier message: 12/05/2005, 10h11
  2. Manipulation d'un Objet OLE Excel ?
    Par NiKro75 dans le forum VBA Access
    Réponses: 10
    Dernier message: 05/07/2004, 17h43
  3. [VB6] Modification objet OLE dans Word sous VB
    Par zworg dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/02/2004, 08h20
  4. [CR 8.5] Objet ole lié (BMP) ne se remet pas à jour .
    Par rodrigue50 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 12/02/2004, 10h43
  5. [VB6][DoVerb]Lancer automatiquement un objet OLE
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/11/2002, 13h29

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