按下面的代码进行修改即可。
Private Sub 是否到账_AfterUpdate()
Dim a() As String
Dim sql1 As String
Dim i As Integer
If Me.是否到账 = True Then
i = Nz(DMax("Right(收款编号, 3)", "查账表", "收款银行='" & Me.收款银行 & "' And Mid(收款编号,3,4)='" & Format(Date, "yymm") & "'"), 0)
i = i + 1
Debug.Print i
Me.收款编号 = SetID(i, Me.收款银行)
Me.收款日期 = Set日期(i, Me.收款银行)
a = Split([发票号码], "/", -1)
For i = 0 To UBound(a)
sql1 = "UPDATE 汇总资料 SET 汇总资料.是否到账 =True,付款日期 =" & Nz(Me.付款日期) & ",收款银行='" & Nz(Me.收款银行) & "',收款日期='" & Nz(Me.收款日期) & "',付款银行='" & Nz(Me.付款银行) & "',收款编号='" & Nz(Me.收款编号) & "' where 发票号码='" & a(i) & "'"
DoCmd.RunSQL (sql1)
Next i
Forms!总查账表.Form.汇总资料子窗体.Requery
Else
Me.收款编号 = Null
Me.收款日期 = Null
a = Split([发票号码], "/", -1)
For i = 0 To UBound(a)
sql1 = "UPDATE 汇总资料 SET 汇总资料.是否到账 =False,付款日期 =null,收款银行=null,收款日期=null,付款银行=null,收款编号=null where 发票号码='" & a(i) & "'"
DoCmd.RunSQL (sql1)
Next i
Forms!总查账表.Form.汇总资料子窗体.Requery
End If
DoCmd.RunCommand acCmdSaveRecord
End Sub