まず、Forループ内でカウンター変数を変更するのはご法度です。Step を使いましょう。
データ追加は、サブフォームのレコードセットに対してAddNewで追加するようにします。
Withでサブフォームのレコードセットを参照するようしてますのて、
Me.T_月額マスタのサブフォーム1.Form
は不要です。
![契約番号サブ] 等の[]内はコントロール名ではなく、フィールド名にしてください。
テーブルのフィールド名が「契約番号サブ」ならいいですが、「契約番号」なら、
![契約番号]
です。
あと、最後に .Update が必要です。
'請求月数の分だけ、サブフォームにレコードを追加する
Dim i As Long, s As Long
With Me.T_月額マスタのサブフォーム1.Form.Recordset
'「ごとに請求」のコンボボックスで、以下の値が選択されている場合
If Me.入金月頻度 = "2ヶ月" Then
s = 2
ElseIf Me.入金月頻度 = "半年" Then
s = 6
ElseIf Me.入金月頻度 = "1年" Then
s = 12
End If
For i = 0 To 月数 Step s
.AddNew
![契約番号] = Me.txt契約番号
![月額] = Me.月額
![入金月] = DateAdd("m", i, 開始年月)
![税率] = Me.税率
![税の処理] = Me.税の処理
.Update
Next
End With
リンクフィールドの設定は問題ないと思います。
通報 ...