Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lien vers word

4 réponses
Avatar
Bubu
Bonjour à tous,

J'ai créé un bouton commande10 dans un formulaire sur lequel j'ai inséré un
lien hypertexte vers un document word. Mais ce document word contient des
champs de fusion dont la source est une requête de la base de donnée access
contenant le formualire avec Commande10. Le lien hypertexte fonctionne mais
le problème est que lorsque le document word s'ouvre, il ré-ouvre la base de
donnée access source, bien qu'elle soit déjà ouverte. Je pourrais alors
fermer ma base de donnée (par une macro par exemple) avant que le document
word ne s'ouvre mais le problème est que la requête servant de source à la
fusion contient des critères fixés par la valeur de contrôles situés dans le
formulaire contenant le bouton commande10. Du coup, lorsque la base access
est réouverte par la fusion sous word, les infos contenues dans les champs du
formulaire sont perdues.
Y a-t-il un moyen pour que le document word ne ré-ouvre pas la base access
si elle est déjà ouverte.
J'espère avoir été clair mais je n'en suis pas certain.
Merci d'avance.

4 réponses

Avatar
Domi
Bonjour,

Pour éviter la réouverture de la base Access, essaie depuis ton document de
fusion, d'ouvrir la source de données en choissisant MS Access Data via ODBC
(*.mdb).

Domi
Ici, on ne perd pas de temps, on en passe !




Bonjour à tous,

J'ai créé un bouton commande10 dans un formulaire sur lequel j'ai inséré un
lien hypertexte vers un document word. Mais ce document word contient des
champs de fusion dont la source est une requête de la base de donnée access
contenant le formualire avec Commande10. Le lien hypertexte fonctionne mais
le problème est que lorsque le document word s'ouvre, il ré-ouvre la base de
donnée access source, bien qu'elle soit déjà ouverte. Je pourrais alors
fermer ma base de donnée (par une macro par exemple) avant que le document
word ne s'ouvre mais le problème est que la requête servant de source à la
fusion contient des critères fixés par la valeur de contrôles situés dans le
formulaire contenant le bouton commande10. Du coup, lorsque la base access
est réouverte par la fusion sous word, les infos contenues dans les champs du
formulaire sont perdues.
Y a-t-il un moyen pour que le document word ne ré-ouvre pas la base access
si elle est déjà ouverte.
J'espère avoir été clair mais je n'en suis pas certain.
Merci d'avance.


Avatar
Bubu
Merci Domi pour ton aide. J'ai essayé plusieurs fois de tenter une fusion via
ODBC et j'ai toujours un message d'erreur : Word n'a pas pu ouvrir la source
de données. J'ai cru comprendre que c'était un problème de pilote ODBC mais
les infos que j'ai eues là dessus ne sont pas claires pour moi. As-tu des
tuyaux sur le sujet ?
Merci.
Bubu


Bonjour,

Pour éviter la réouverture de la base Access, essaie depuis ton document de
fusion, d'ouvrir la source de données en choissisant MS Access Data via ODBC
(*.mdb).

Domi
Ici, on ne perd pas de temps, on en passe !




Bonjour à tous,

J'ai créé un bouton commande10 dans un formulaire sur lequel j'ai inséré un
lien hypertexte vers un document word. Mais ce document word contient des
champs de fusion dont la source est une requête de la base de donnée access
contenant le formualire avec Commande10. Le lien hypertexte fonctionne mais
le problème est que lorsque le document word s'ouvre, il ré-ouvre la base de
donnée access source, bien qu'elle soit déjà ouverte. Je pourrais alors
fermer ma base de donnée (par une macro par exemple) avant que le document
word ne s'ouvre mais le problème est que la requête servant de source à la
fusion contient des critères fixés par la valeur de contrôles situés dans le
formulaire contenant le bouton commande10. Du coup, lorsque la base access
est réouverte par la fusion sous word, les infos contenues dans les champs du
formulaire sont perdues.
Y a-t-il un moyen pour que le document word ne ré-ouvre pas la base access
si elle est déjà ouverte.
J'espère avoir été clair mais je n'en suis pas certain.
Merci d'avance.




Avatar
jessiem34
Bonjour,

Tu peux contourner le problème en choisissant l'option des signets !
Tu as insérer des champs de fusion dans ton document, remplace les part des
signests .{REF Champ1}
Dans ton formulaire, quand tu cliques sur ton bouton, appelle une procédure
qui vas chargé le resultat de ta requete dasns un recordset. Ouvre ton
document word et parcoure tous tes signets, puis pour le type correspondant
affecte la valeur du signet avec le champ de ton recordset !

Dim AppWD As Word.Application
Dim strNomFichierWord As String
Dim db As Database
Dim rqt as Recordset
Dim chp As Word.Field

strNomFichierWord = "C:Mon_fichier_Word.doc"
Set db = CurrentDb
Set rqt = db.OpenRecordset("Table") ' ou ton Select

' Ouvre ton document Word
Set AppWD = CreateObject("word.application")
With AppWD
.Visible = False
.Documents.Open strNomFichierWord
.Activate
End With

' Parcours tes champs dans ton .doc
For Each chp In AppWD.ActiveDocument.Fields
If chp.Type = 3 Then 'Type correspondant au REF
' Test le nom du champ et affecte la valeur correspondante
Select case chp.Code
Case "nomduchamp"
AppWD.ActiveDocument.Fields(chp.Index).Select
AppWD.Selection.Text =
rqt.Fields("ChampCorrespondant").Value
end select
endif
next

' Affiche dont doc
AppWD.Visible = True
Avatar
Domi
Bonjour,

Malheureusement guère plus...

J'ai fait un ou deux tests. Ce que je constate, j'espère n'avoir rien oublié.

Avec Access 2000, aucun problème pour faire une liason ODBC sur une requête,
que la table source soit liée ou présente dans la même table.

Par contre, avec Access XP, format 2000, je n'arrive pas à faire de liason
avec la requête si la table source est liée. Mais cela fonctionne si la table
source est dans la table... Pour l'instant, j'en suis là... Problème de
configuration dans Word ? Ou dans Access ?

Essaie peut-être de déposer également un post dans le forum Word en
décrivant exactement le problème, les versions de programmes utilisées et si
tes tables sont liées ou non.

Domi



Merci Domi pour ton aide. J'ai essayé plusieurs fois de tenter une fusion via
ODBC et j'ai toujours un message d'erreur : Word n'a pas pu ouvrir la source
de données. J'ai cru comprendre que c'était un problème de pilote ODBC mais
les infos que j'ai eues là dessus ne sont pas claires pour moi. As-tu des
tuyaux sur le sujet ?
Merci.
Bubu


Bonjour,

Pour éviter la réouverture de la base Access, essaie depuis ton document de
fusion, d'ouvrir la source de données en choissisant MS Access Data via ODBC
(*.mdb).

Domi
Ici, on ne perd pas de temps, on en passe !




Bonjour à tous,

J'ai créé un bouton commande10 dans un formulaire sur lequel j'ai inséré un
lien hypertexte vers un document word. Mais ce document word contient des
champs de fusion dont la source est une requête de la base de donnée access
contenant le formualire avec Commande10. Le lien hypertexte fonctionne mais
le problème est que lorsque le document word s'ouvre, il ré-ouvre la base de
donnée access source, bien qu'elle soit déjà ouverte. Je pourrais alors
fermer ma base de donnée (par une macro par exemple) avant que le document
word ne s'ouvre mais le problème est que la requête servant de source à la
fusion contient des critères fixés par la valeur de contrôles situés dans le
formulaire contenant le bouton commande10. Du coup, lorsque la base access
est réouverte par la fusion sous word, les infos contenues dans les champs du
formulaire sont perdues.
Y a-t-il un moyen pour que le document word ne ré-ouvre pas la base access
si elle est déjà ouverte.
J'espère avoir été clair mais je n'en suis pas certain.
Merci d'avance.