MS Access - me.recordset没有传递给sub

时间:2015-05-28 14:23:51

标签: forms ms-access-2010 parameter-passing recordset

我有一个加载单个记录的表单。用户在表单上执行他们需要执行的操作...在这种情况下,他们输入日期,并且可以使用一个按钮单击以将记录前进到该过程的下一步。

我有一个公共功能,它将活动记录到tblActivity,并设置记录的新状态和位置。这个函数需要3个变量,直到今天才能正常工作。

'I'm calling the function with this line from the button's Click event
  LogActivity 15, Screen.ActiveForm, Me.Recordset

Public Function LogActivity(ByVal lSID As Long, Optional fForm As Form, Optional ByRef fRS As Recordset)

  With fRS
    Do Until .EOF
      Debug.Print .Fields(5)
      .MoveNext
    Loop
  End With
...
End Function

这应该是打印表单的状态值,但传入的fRS没有值。表单的记录集在传递之前具有值,因为表单具有数据。一些如何在传球中丢失。这工作正常,我有5个不同形式的多个按钮,所有这些都称为同一个功能。今天突然间,他们都没能通过记录集。我可以想到任何会改变的东西都会影响到这一点。最近的大多数变化涉及在正确的时间锁定字段和按钮的外观......与记录集无关。

当然,这个数据库应该在星期一上线。

1 个答案:

答案 0 :(得分:0)

发现问题。

我昨天有一个备份工作正常。

我一个接一个地浏览了昨天记录的更改,发现通过将某些字段更改为.enabled = False和.locked = True就是这样做的。显然,这足以在通过时清除所有值。

启用字段,只需锁定它们,它就会正确传递所有值。

尽管这对我来说是失败的,但我会留下这个以防其他人犯同样的错误。

****更新****
我也发现如果我做了一个 fRS.movelast fRS.movefirst
在此之前,它找到了数据。不知道为什么它开始发生,但这两件事似乎完全解决了它。