数组下标超出范围错误 – 访问VBA

我是Access VBA编码的新手。 我试图运行下面的代码从Access表中提取选定的logging,并将它们导出到Excel,但它不断向我显示'下标超出范围'错误。这是代码的一部分,我得到一个错误。 任何帮助,将不胜感激。 谢谢

Set db = CurrentDb() Set rec = db.OpenRecordset("Tablename", dbOpenDynaset) Dim k As Integer Dim n() As Variant Dim m() As Variant Dim p() As Variant Dim q() As Variant Dim size As Integer k = 10 i = 1 If Not rec.EOF Then rec.MoveFirst rec.FindFirst ("Variable1 = '" & Me.Variable1.Value & "' AND Variable2 = " & Me.Variable2.Value & " AND Variable3 = '" & Me.Variable3.Value & "'") size = DCount("[Field4]", "Tablename", "Variable1 = '" & Me.Variable1.Value & "' AND Variable2 = " & Me.Variable2.Value & " AND Variable3 = '" & Me.Variable3.Value & "'") ReDim n(size) As String ReDim m(size) As String ReDim p(size) As String ReDim q(size) As String Do Until rec.EOF If Not IsNull(rec.Fields("Field4")) Then n(i) = rec.Fields("Field4") WKS.Cells((k), 1) = n(i) End If If Not IsNull(rec.Fields("Field3")) Then m(i) = rec.Fields("Field3") WKS.Cells((k), 2) = m(i) End If If Not IsNull(rec.Fields("Field2")) Then p(i) = rec.Fields("Field2") WKS.Cells((k), 3) = p(i) End If If Not IsNull(rec.Fields("Field1")) Then q(i) = rec.Fields("Field1") WKS.Cells((k), 4) = q(i) End If rec.MoveNext k = k + 1 i = i + 1 Loop End If Set rec = Nothing