Mise à jour automatique des champs

cs_Luong Messages postés 30 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 31 janvier 2007 - 17 juil. 2002 à 13:08
Bul_dozer Messages postés 5 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 6 août 2004 - 6 août 2004 à 11:52
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

Downey Messages postés 5 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 23 août 2002
17 juil. 2002 à 13:51
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
cs_Luong Messages postés 30 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 31 janvier 2007
18 juil. 2002 à 17:03
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
cs_Asticot Messages postés 2 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 29 janvier 2003
26 janv. 2003 à 15:48
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
cs_Luong Messages postés 30 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 31 janvier 2007
28 janv. 2003 à 23:43
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Asticot Messages postés 2 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 29 janvier 2003
29 janv. 2003 à 08:20
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
cs_Luong Messages postés 30 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 31 janvier 2007
29 janv. 2003 à 09:28
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
Bul_dozer Messages postés 5 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 6 août 2004
6 août 2004 à 11:52
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
Rejoignez-nous