You can achieve the numbering you want but Word makes it very difficult.
You will have to avoid using the standard Word facilities, and you will not get the usual benefits of automatic numbering.
Let's assume that you are using a standard heading level numbering scheme where your heading 4 uses Heading 1 style, 4.1 uses Heading 2 style, and so on.
When you use the Insert Caption dialog to insert your caption Table 4.1
, for example, Word will probably insert the following text and fields:
Table { STYLEREF 1 \s }.{ SEQ Table \* ARABIC \s 1 }
The 1
in the STYLEREF field says "use the number from the most recent Heading 1 style". The \s 1
in the SEQ field says "restart numbering (from 1) the Table sequence at the most recent Heading 1 paragraph".
When you use the dialog to insert your Table 4.1.1
caption, you would change the Heading Level that you use to restart numbering to Heading 2, and Word would use the following coding:
Table { STYLEREF 2 \s }.{ SEQ Table \* ARABIC \s 2 }
But at that point, Word modifies the coding of all the captions you have already inserted to use 2 instead of 1. (as you have noticed).
In other words, you have to avoid using the Insert Caption dialog if you're going to make anything work the way you need.
The way you need is to insert
Table { STYLEREF 1 \s }.{ SEQ Table \* ARABIC \s 1 }
for your Table 4.1 type captions,
Table { STYLEREF 2 \s }.{ SEQ Table \* ARABIC \s 2 }
for your Table 4.1.1 type captions,
Table { STYLEREF 3 \s }.{ SEQ Table \* ARABIC \s 3 }
for your Table 4.1.1.1 type captions, and so on.
You could do that by setting up autotexts/autocorrects for each sequence and remember to use the correct one in each case.
If you need a Table of Tables the standard one should work OK, and cross-references should also pick up the correct numbering.
But notice that if you then want to change the level of a particular heading and its associated captions, you will have to modify the level numbers in the two fields in each associated caption, and update any cross-references referencing those captions.
And you really don't want to do anything such as insert any caption via the Insert Caption dialog or you'll have to re-edit every caption. So "save often" and "remember you can use Undo". If you know how to work with VBA you could consider creating a routine like this which may help you avoid doing that:
Sub InsertCaption()
Msgbox "Don't use the Insert Caption feature!"
End Sub
Or you could even write some VBA to try to insert the correct field coding.
So to change the first caption back to what it needs to be, you need to change the two 2
s in its field coding to 1
s, so it looks like this
Table { STYLEREF 1 \s }.{ SEQ Table \* ARABIC \s 1 }
Obviously, you can't continue to use the Insert Caption dialog any more because it will change all your captions to the same level each time you do. So make sure you save often and remember to use the Undo button as needed.
Instead, set up the caption text and field coding for each level in autotexts or autocorrects and use those to insert the correct coding at each level.
The other big problem you will face is that whenever you change a heading's level, you will also need to change the level of every caption that "belongs" to that level, and you may also find that any cross-references you insert need to be re-created. So if possible leave any cross-referencing as long as you can.
Again, if you have the VBA skills, it would probably make sense to write some code to go reprocess the entire document and insert the correct "level numbers" in each caption. If I had that code to hand I'd post it here but I don't. There are a couple of ways you could avoid that using slightly more complex field coding but unfortunately neither of the ones I can think of works properly with Word's cross-referencing mechanism.