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 :

ouvrir fichier un word contenu dans une base access


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut ouvrir fichier un word contenu dans une base access
    Bonjour à tous, voila mon problème:

    Dans ma boite, ils travaillent avec une base access, dans cette base ils ont eu la mauvaise idée d'enregistrer des fichier Word. Maintenant que la base fait presque 2Go, je dois extraire tous ces fichieret les remplacer par un lien.

    J'aimerai le faire en vba. Pour cela ,j'ai fait ma requete SQL se séléction de tous ces fichiers. Maintenant, 1 par un j'aimerai les ouvril dans Word et les enregister ailleur. Comment faire? voici le petit bout de coude déjà écrit :

    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
    Public Sub essai()
        Dim db As DAO.Database, rst As DAO.Recordset, fld As DAO.Field
        Dim sSQL As String
        ' Ouverture de la base de données
      Set db = CurrentDb
        sSQL = "SELECT * FROM REX"
        Set rst = db.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
        If Not rst.EOF Then
          Do While Not rst.EOF
               Que dois-je mettre ici ???
                rst.MoveNext
           Loop
       End If
      rst.Close ' Fermeture du Recordset
       Setdb = Nothing
     
    End Sub

    Merci d'avance à tous.....

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 360
    Points
    34 360
    Par défaut
    bonjour,
    tu peux nous donner les champs de ta table rex stp ?
    en principe, tu vas pouvoir faire le traitement suivant :
    - ouvrir fichier
    - enregistrer fichier sous
    - fermer fichier
    - mettre à jour base avec le path d'archivage.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    biensur voici les champs :

    Numero_affaire

    Document (c'est là ou est stocké un fichier par affaire)


    Merci pour ta réponse

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 360
    Points
    34 360
    Par défaut
    ok,
    et le type du champs document ?

    je t'avoue que je n'ai jamais vraiment stocker des documents en tant que tels dans une base, mais plus simplement leur path d'archivage...

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    texte pour Numero_affaire
    Objet OLE pour le document

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    C'est vrai que moi non plus j'ai jamais stocké des fichier dans access, mais je vien d'arriver dans cette boite...

    la base devient lourde et instable, donc ils veulent extraire.....

  7. #7
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 360
    Points
    34 360
    Par défaut
    tu dois pouvoir ouvrir le fichier OLE en principe, comme info tu as donc normalement le nom du fichier ouvert.
    - soit tu l'ouvres avec shell execute
    - si tu sais que le fichier est toujours du même type
    - manipuler avec un objet Word.Application
    - sinon tu testes le type du fichier ouvert
    - soit tu le manipules en l'ouvrant directement avec Word.Application

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Le problème c'est justement pour l'ouverture, cela ne fonctionne pas avec la syntaxe habituelle du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set wrd = CreateObject("Word.Application")
       wrd.Application.DisplayAlerts = False
       wrd.Documents.Open (rst("Document")) 'rst est le résultat de la requete sql
            wrd.Visible = True
        wrd.Application.ActiveDocument.SaveAs (chemin) 'chemin est l'endroit
                                                     'ou exporter
    wrd.ActiveDocument.Close("Word.Application")

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    j'ai vu quelque par qu'on pouvais utiliser textcopy.exe, je cherche comment s'en servir, en espérant que ça m'aidera....

  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Textcopy.exe est apparament réservé à SqlServer... cette piste est donc abandonnée...

    Quelqu'un à une autre idée?

  11. #11
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 360
    Points
    34 360
    Par défaut
    Et utiliser ShellExecute sur document ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/11/2012, 18h16
  2. Lire dans un Fichier Excel et Ecrire dans une base Access
    Par tarik75 dans le forum Modélisation
    Réponses: 1
    Dernier message: 03/09/2008, 21h10
  3. Ouvrir fichier sur lien hypertexte dans une liste
    Par JimmyB dans le forum Access
    Réponses: 10
    Dernier message: 18/10/2006, 15h28
  4. Stocker / Extraire des fichiers dans une base Access
    Par bryan_fury75 dans le forum Bases de données
    Réponses: 5
    Dernier message: 14/06/2006, 15h17

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