Mise à jour automatique des champs

Signaler
Messages postés
30
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
31 janvier 2007
-
Messages postés
5
Date d'inscription
jeudi 14 août 2003
Statut
Membre
Dernière intervention
6 août 2004
-
Qcq sait comment faire pour déclencher la mise à jour des champs sous Word par VBA ou VB (la manip manuelle dans Word est CTRL+A pour sélectionner tout le document puis Click droit puis choisir mise à jour des champs) ?

7 réponses

Messages postés
5
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
23 août 2002

Je te conseil si tu ne l'as déjà fais d'enregistrer une macro (menu Outils/Macro/Nouvelle macro) de faire ta manip manuelle (selectionne tout le document avec le menu edition/selectionner tout)
et de voir ce qu'elle génère comme code. Si ça ne réalise pas ce que tu veux tu pourras toujours modifier le code de la macro enregistrer en allant dans le menu outils/macro/macro... selectionne ta macro enregistré puis modifier).
Bon courage,

Downey
0
Messages postés
30
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
31 janvier 2007

Merci de ton tuyau mais j'ai déjà essayé. Le hic c'est que le bouton droit du souris est inopérant quand tu es en mode enregistrement... et la mise à jour des champs n'est proposée qu'à partir de là...
0
Messages postés
2
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
29 janvier 2003

Comment on fait pour mettre à jour le champs d'une table à patrir d'une requête sur Access 2000.
On utilise update, mais comme la clause from n'est pas compatible, comment dénommer la requête que j'utilise??
Merci bcp,

Asticot
0
Messages postés
30
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
31 janvier 2007

Est ce que tu peux préciser ta question?

La syntaxe d Update est en principe :

Update nom_de_table
set nom_colonne1 = valeur1,
nom_colonne2 = valeur2,
....
where condition
0
Messages postés
2
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
29 janvier 2003

Tu vois, dans ce que tu m'écris:

> Update nom_de_table
> set nom_colonne1 = valeur1,
> nom_colonne2 = valeur2,
> .... WHERE...

J'aimerai que valeur1 soit une valeur prise dans une requêtre, ou encore quelque chose du type:
nom_de_table.nom_colonne1*0.05

Un genre de boucle!
Merci bcp Luong, c'est ma première apparition sur ce forum!

Asticot
0
Messages postés
30
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
31 janvier 2007

A ma connaissance cela n'est pas possible directement (à moins que cela a changé depuis).

Pour faire ce que tu demandes il faudrait faire une petit proc en VBA en plusieurs étapes :

Soit :
1) Récupérer la valeur dans une variable avec un SELECT correspondant.
2) Exécuter UPDATE avec la variable chargée

Soit :
1) Faire un INSERT d'1 nouvelle ligne avec les bonnes valeurs (du style INSERT INTO .... SELECT ...FROM...)
2) Détruire l'ancienne ligne avec l'ordre DELETE

La première méthode me semble plus conforme à l'esprit de l'update et pose moins de pb pour l'intégrité référentielle.

Désolé, je ne connais pas d'autres solutions.
0
Messages postés
5
Date d'inscription
jeudi 14 août 2003
Statut
Membre
Dernière intervention
6 août 2004

je cherchai aussi une solution à ça et comme je viens de la trouver je vous en fait profiter :big)

Sub UpdateAllFields()
Dim aStory As Range
Dim aField As Field
For Each aStory In ActiveDocument.StoryRanges
For Each aField In aStory.Fields
aField.Update
Next aField
Next aStory
End Sub

Bonne continuation
0