错误5 vba,循环通过记录集时调用无效

错误5 vba,循环通过记录集时调用无效,vba,ms-access,Vba,Ms Access,正在尝试创建要粘贴到电子邮件正文的字符串。在循环通过记录集时获取错误5无效调用。它很好地通过了第一条记录,但一旦到达第二条记录,它就会抛出错误 Do While Not recSet.EOF For intCtr = 0 To recSet.Fields.Count - 1 strData = strData & recSet.Fields(intCtr) & Space(25 - Len(Nz(recSet.Fields(intCtr)))) Next

正在尝试创建要粘贴到电子邮件正文的字符串。在循环通过记录集时获取错误5无效调用。它很好地通过了第一条记录,但一旦到达第二条记录,它就会抛出错误

Do While Not recSet.EOF
   For intCtr = 0 To recSet.Fields.Count - 1
      strData = strData & recSet.Fields(intCtr) & Space(25 - Len(Nz(recSet.Fields(intCtr))))
Next
   strData = Trim(strData) & vbCrLf
   recSet.MoveNext
   Debug.Print strData
Loop

它应该将查询结果粘贴到电子邮件正文中。

看起来是从25减去字段长度,但是如果长度是30呢?您需要确定字段的长度。你能发布更多的代码吗?这将大有帮助

你调试过step吗?我测试了你的代码,没有发现错误。编辑问题以发布过程的其余部分(打开记录集)和示例数据。我已经调试了步骤,一旦它到达第二条记录,它就会抛出错误。这只是一个简单的记录集。我无法复制错误。但是,建议您将Debug.Print移到记录集循环之外。如果您不想按要求提供信息,则无法提供进一步的帮助。我将运行更多测试并返回给您。它在strData=strData&recSet.Fields(intCtr)和Space(25-Len(Nz(recSet.Fields(intCtr))上出错,值为1仅此而已。其中一个字符串的长度大于25。我不知道为什么我没赶上。非常感谢你的帮助!