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

IHM Discussion :

Type de texte "Objet OLE"


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 48
    Points
    48
    Par défaut Type de texte "Objet OLE"
    Bonjour,

    Je débute sur Access et j'aimerai utilise le type de texte "Objet OLE" pour insérer des documents Words dans mes formulaires.

    J'aimerais savoir s'il y a des tutoriels sur le sujet.

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour et bienvenue sur le forum,

    Je débute sur Access et j'aimerai utilise le type de texte "Objet OLE" pour insérer des documents Words dans mes formulaires
    Ta demande est un peu imprécise. Que veux-tu faire exactement avec ces documents Word dans un formulaire ?

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    Bonjour Domi,

    En faite je crée une base de données sur les accidents de travail.

    J'ai créé un formaulaire pour avoir toutes les caratéristiques de mon accident mais j'aimerai joindre à chaque accident l'étude des causes.
    Cette étude est en format Word et est différente pour chaque accident

    Ma question est donc:
    Comment faire pour insérer un document Word différent dans chaque feuille d'un formulaire? Et est ce que c'est possible?

    Merci,

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Comment faire pour insérer un document Word différent dans chaque feuille d'un formulaire? Et est ce que c'est possible?
    Possible, je suppose, mais je n'ai jamais mis en oeuvre...

    Toutefois, je te proposerai une autre solution, qui consiste non pas à intégrer ton document word dans le formulaire, mais à le lier. cela offre bien des avantages.

    Dans la table source de ton formulaire, tu crées un simple champ texte dans lequel tu stockes le chemin complet du document.

    Je te renvoie à ce tuto sur la gestion des images. C'est le même principe de fonctionnement (en ce qui concerne le lien s'entend).

    Ensuite pour visionner le document, tu utilises l'application hôte (Word).

    Il est simple d'ouvrir un document dont on connaît le chemin avec l'api ShellExecute. Les discussions sur le sujet ne manquent pas dans le forum.

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    Merci pour l'aide, mais je suis un peu perdu dans toutes ces lignes de commandes, je ne suis pas habitué à tout ce langage

    Si je comprend bien je dois reprendre ces lignes pour afficher la fenetre parcourir


    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    "Private Sub cmdPhoto_Click()
    ' Bouton d'ajout - modification de photo
    Dim strLink As String
     
    ' Gestion des erreurs
    On Error GoTo Catch01
     
    ' récupération du chemin physique de la photo
    '  par la boite de dialogue
    strLink = OuvrirUnFichier(Me.Hwnd, _
                             "Sélectionner une photo pour le salarié " & Me.Nom, _
                             1)
     
    ' si la boite renvoie une adresse non nulle
    If Len(strLink) > 0 Then
        ' tentative d'affichage de la photo
        Me.imgPhoto.Picture = strLink
        Me.Photo = strLink
    End If
     
    DisplayPhoto
    Exit Sub
     
    Catch01:
    Select Case Err.Number
        Case 2114
            'Cas d'un type de fichier photo non supporté ...
            '  on sort de la procédure
            MsgBox "Le format de l'image n'est supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos"
            Exit Sub
        Case 2220
            'Cas d'un emplacement non valide du fichier image
            MsgBox "Le fichier image n'a pas été trouvé à l'emplacement indiqué : " & vbCrLf & _
                    Me.Photo, vbCritical + vbOKOnly, "Application Photos"
            Exit Sub
        Case Else
            ' tout autre cas d'erreur
            MsgBox "Erreur inattendue : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Application Photos"
    End Select
    Err.Clear
     
     
    End Sub"
    Mais ça me met que mon expression est l'origine d'une erreur ...

    Est ce que tu peux m'expliquer ce qu'il faut que je modifie car je suis dans le flou.

    Merci,

  6. #6
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Je pense que tu n'as pas vu qu'il fallait copier une fonction supplémentaire, qui se trouve ici.

    Tu crées un nouveau module standard, tu copies/colles le code tel quel.

    Attention de ne pas nommer le module du même nom que la fonction.

    Ensuite, oui, tu as la bonne partie pour récupérer le chemin de ton fichier.

    Naturellement, tu dois adapter à ta propre situation, notamment le nom des champs.

    Et tu n'affiches pas une photo, tu récupères le nom du fichier pour l'inclure dans un champ de ton formulaire.

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    Excuse pour cette question est surement trés bète mais qu'est ce que tu appelles module?

  8. #8
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    C'est ce qui contient le code VBA.

    Depuis la fenêtre de base de données, tu cliques sur l'onglet module, puis Nouveau, ou depuis le menu Insertion, tu cliques Module.

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    Remerci pour toutes tes explications , j'avance doucement je suis un néophite.

    J'ai donc créé u module que j'ai appelé "parcourir" pour ne pas avoir le même nom que ma fonction

    Ensuite je suis allé dans mon controle pour ajouter une "procédure evenementielle" je colle donc la fonction que j'ai pris dans le premier tuto.

    Et maintenant il faut que je modifie les lignes Me.imgPhoto.Picture et Me.Photo je suppose mais je sais pas quoi mettre à la place Me.doc?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    SLt,

    J'ai réussit à mettre le chemin des fichiers dans le champs du formulaire grace à un controle bouton.

    Mais je réussis pas à trouver la synthaxe pour lancer l'api Shellexecute à partir du texte de mon champs... Car toutes les explications sont à partir d'un chemin unique ( C:/chemin/dossier.doc)et non pas d'un champs.

    J'y suis presque help me!

  11. #11
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    En partant du principe que tu ouvres le document accident sur click d'un bouton et que le champ contenant le chemin dudit document s'appelle txtDocAccident :

    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
    Private Sub cmdOuvrirDoc_Click()
     
        'Déclaration de la variable
        Dim strCheminDocAccident As String
     
        'Si le champ txtDocAccident n'est pas renseigné, interruption de la procédure
        If IsNull(txtDocAccident) Then
     
            MsgBox "Aucun document n'est lié... !", vbInformation + vbOKOnly, "Aucun document lié"
     
            Exit Sub
     
        End If
     
        'Ouverture du document lié
        strCheminDocAccident = Me.txtDocAccident.Value
     
        'Appelle de la procédure OuvrirDocument
        OuvrirDocument (strCheminDocAccident)
     
    End Sub
    La fonction OuvrirDocument (à coller dans un module standard)

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Option Compare Database
    Option Explicit
     
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
            ByVal hWnd As Long, _
            ByVal lpOperation As String, _
            ByVal lpFile As String, _
            ByVal lpParameters As String, _
            ByVal lpDirectory As String, _
            ByVal nShowCmd As Long) As Long
     
    Function OuvrirDocument(strChemin As String)
     
        'Déclaration des variables
        Dim strErreur As String
     
        Select Case ShellExecute(0, "open", strChemin, vbNullString, vbNullString, 1)
     
            Case 0: strErreur = "Le système manque de mémoire ou de ressources, l'exécutable est corrompu ou réallocations non valides."
            Case 2: strErreur = "Fichier non trouvé."
            Case 3: strErreur = "Chemin non trouvé."
            Case 5: strErreur = "Une tentative a été faite pour se lier dynamiquement à une tache, ou il y a eu une erreur de partage ou de protection réseau."
            Case 6: strErreur = "La librairie requiert des segments de données séparés pour chaque tâche."
            Case 8: strErreur = "Il n 'y a pas assez de mémoire disponible pour lancer l'application."
            Case 10: strErreur = "Version de Windows incorrecte."
            Case 11: strErreur = "Le fichier exécutable n'est pas correct, il se peut que ce ne soit pas une application Windows, ou qu'il y ait une erreur dans le fichier .EXE;"
            Case 12: strErreur = "L'application a été conçue pour un autre système d'exploitation."
            Case 13: strErreur = "L'application a été conçue pour MS-DOS 4.0."
            Case 14: strErreur = "Le type de fichier exécutable est inconnu."
            Case 15: strErreur = "Tentative de chargement d'une application en mode réel."
            Case 16: strErreur = "Tentative de charger une seconde instance d'un fichier exécutable contenant plusieurs segments de données qui ne sont pas marqués en lecture seule."
            Case 19: strErreur = "Tentative de charger un fichier exécutable compressé. Le fichier doit être décompressé avant d'être chargé."
            Case 20: strErreur = "Fichier de librairie liée dynamiquement (DLL) incorrect, une des DLLs requise pour exécuter cette application est corrompue."
            Case 21: strErreur = "L 'application requiert les extensions Microsoft Windows 32-bit."
            Case 31: strErreur = "Il n 'y a pas d'association pour le type de fichier spécifié, ou il n'y a pas d'association pour l'action choisie pour le type de fichier choisi."
     
        End Select
    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    SUPER JE TE REMERCIE





    CA MARCHE SUPER!!!!!!!!!!!!!

    J'aimerai pour aider des pauvres gens dans mon cas faire un tuto, est que tu pourrai me dire comment le mettre sur le forum

    MERCI encore

  13. #13
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Content d'avoir pu t'aider...

    Pour le tuto, ça, je ne suis pas compétent...

    Je pense qu'il faut passer par un des reponsables du forum Access ou un des modérateurs, mais je serais bien en peine de t'en dire plus...

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

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

Discussions similaires

  1. [text] probleme avec simple quote
    Par bor1s dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/12/2005, 16h03
  2. [VB6][Objet OLE] probleme récupération texte
    Par dedella_al dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/10/2005, 19h54
  3. Renvoyer un type structuré dans objet OLE
    Par Bleuarff dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 13/05/2005, 20h05

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