Only the fields in the main story range are updated using your code. Instead of using
Code:
ActiveDocument.Fields.Update
call the following macro. This should work for most circumstances. If it doesn't work for your document you will need a more thorough processing of the various story ranges that make up the document.
Code:
Sub UpdateAllFields()
Dim oStory As Range
For Each oStory In ActiveDocument.StoryRanges
oStory.Fields.Update
If oStory.StoryType <> wdMainTextStory Then
While Not (oStory.NextStoryRange Is Nothing)
Set oStory = oStory.NextStoryRange
oStory.Fields.Update
Wend
End If
Next oStory
lbl_Exit:
Set oStory = Nothing
Exit Sub
End Sub