nitro81
Messages postés23Date d'inscriptionmercredi 9 avril 2008StatutMembreDernière intervention17 avril 2008
-
9 avril 2008 à 08:15
nitro81
Messages postés23Date d'inscriptionmercredi 9 avril 2008StatutMembreDernière intervention17 avril 2008
-
16 avril 2008 à 11:45
Bonjour, dans le cadre d'un stage en entreprise j'ai à effectuer une base de données sous Access. Cette BD doit aller chercher des valeurs de signet dans des documents word pour les incorporer dans ses tables, et doit par la suite remplir d'autre signet. J'ai fait ma base de données ainsi que l'interconnexion d'Access vers word mais pas l'inverse. Après avoir passé pas mal de temps dessus et a chercher sur le net, je viens demander de l'aide.
nitro81
Messages postés23Date d'inscriptionmercredi 9 avril 2008StatutMembreDernière intervention17 avril 2008 16 avril 2008 à 11:45
Ce n'est pas grave. J'ai résolu mon problème, enfin on m'a aidé à le résoudre plutôt.. Merci quand même. En fait, j'ai supprimé les 9 caractères de gauche de manière à ce que ma variable soit à nouveau "normale".
Pour ceux que ça interesse, la commande est :
variable2 = Right(variable1, Len(variable1) - 9)
Donc on garde les caractères restant de droite : ((longueur totale) - (9 caractères de gauche))
cs_loulou69
Messages postés672Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention 2 juin 20161 9 avril 2008 à 10:46
Bonjour
Que te manque t'il?
1- un code pour récupérer les signets inclus dans les documents
2- créer des signets dans les documents si tous les documents n'ont pas les signets attendus
3- une méthode de connexion Access depuis VBA : pour insérer dans Access les signets
4 - une méthode pour insérer automatiquement les ajouts manuels des signets des documents dans Access
cs_loulou69
Messages postés672Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention 2 juin 20161 9 avril 2008 à 11:13
Function LireSignet(nom_Signet as string) as string
LireSignet=""
If ActiveDocument.Bookmarks.Exists(nom_Signet) Then
LireSignet = ActiveDocument.Bookmarks(nom_Signet).Range.Text
End If
End Function
Function RechercherTousSignets()
Dim oBookmark
For Each oBookmark in ActiveDocument.Bookmarks
...
valeur= LireSignet(oBookmark.Name)
Next
End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
nitro81
Messages postés23Date d'inscriptionmercredi 9 avril 2008StatutMembreDernière intervention17 avril 2008 9 avril 2008 à 11:51
Merci pour tes réponses, de mon côté, j'ai pas mal avancé. J'arrive à recupérer la valeur d'un signet et à la mettre dans ma table Access, mais elle s'affiche avec FORMTEXT au début. Ex : "FORMTEXT toto" .
Ce doit être un problème lié au type de variable récupérer par rapport au type de ma colonne ( qui est en type texte ).
Sais-tu comment y rémédier ??
Mon code :
Sub import_word()
Dim WordApp As Word.Application
Dim db As DAO.Database
Dim Req As DAO.Recordset
Dim cSQL As String
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
WordApp.Documents.Open ("chemin
\document.doc")
Set db = CurrentDb
Set Req = db.OpenRecordset("SELECT * FROM nom_table")
Req.AddNew
With WordApp
Req(1) = .ActiveDocument.Bookmarks("nom_signet1").Range.Text
Req(2) = .ActiveDocument.Bookmarks("nom_signet2").Range.Text
End With
cSQL = "UPDATE TEST SET colonne1='" & Req(1) & "' WHERE colonne2 ='valeur' "
'requete SQL
DoCmd.RunSQL cSQL 'execution de la requete SQL
Req.Close
Set Req = Nothing
db.Close
Set db = Nothing
WordApp.Documents.Close
WordApp.Quit