导航到下一条记录时触发事件
Trigger an event while navigating to next record
我需要根据当前记录在表单中设置特定下拉列表的记录源,即当我单击下一条记录时,记录源应该得到更新。
但是我找不到任何事件可以这样做。这需要在不添加任何 extra/new 按钮的情况下完成。
我尝试使用 "Form Current" 事件,但显然它只在加载表单时触发一次,而不是在我移动到同一表单中的下一条记录时触发。
有什么建议吗?
示例代码:
Private Sub Form_Current()
MsgBox ("hello")
Dim strSQL As String
strSQL = "SELECT DISTINCTROW StudentTeachingStatusTbl.ID, StudentTeachingStatusTbl.SuccessStatus FROM StudentTeachingStatusTbl WHERE Active = -1" & _
"or ID IN (Select SuccessID from StudentTeachingExperiencesTbl where StuId = " & Me.Text2.Value
If Not IsNull(Me.StudentTeachExp_SubF.Controls("SemesterID")) Then
strSQL = strSQL & " and SemesterID = " & Me.StudentTeachExp_SubF.Controls("SemesterID").Value
End If
strSQL = strSQL & ")"
Me.StudentTeachExp_SubF.Controls("SuccessID").RowSource = strSQL
End Sub
当表单聚焦到一条新记录时触发"On Current"事件。
打开表单时确实会发生这种情况,因为表单上有记录。
"On Load"和"On Open"在打开表单时触发一次。
尝试将 MsgBox 添加到您的 "On Current" 事件代码以进行测试。
祝你好运。
查看您的代码,您正在更改子窗体记录源,那么您是在子窗体还是主窗体上更改记录?
如果是子窗体,则需要使用子窗体的 OnChange 事件,而不是父窗体事件。
我需要根据当前记录在表单中设置特定下拉列表的记录源,即当我单击下一条记录时,记录源应该得到更新。
但是我找不到任何事件可以这样做。这需要在不添加任何 extra/new 按钮的情况下完成。
我尝试使用 "Form Current" 事件,但显然它只在加载表单时触发一次,而不是在我移动到同一表单中的下一条记录时触发。
有什么建议吗?
示例代码:
Private Sub Form_Current()
MsgBox ("hello")
Dim strSQL As String
strSQL = "SELECT DISTINCTROW StudentTeachingStatusTbl.ID, StudentTeachingStatusTbl.SuccessStatus FROM StudentTeachingStatusTbl WHERE Active = -1" & _
"or ID IN (Select SuccessID from StudentTeachingExperiencesTbl where StuId = " & Me.Text2.Value
If Not IsNull(Me.StudentTeachExp_SubF.Controls("SemesterID")) Then
strSQL = strSQL & " and SemesterID = " & Me.StudentTeachExp_SubF.Controls("SemesterID").Value
End If
strSQL = strSQL & ")"
Me.StudentTeachExp_SubF.Controls("SuccessID").RowSource = strSQL
End Sub
当表单聚焦到一条新记录时触发"On Current"事件。 打开表单时确实会发生这种情况,因为表单上有记录。
"On Load"和"On Open"在打开表单时触发一次。
尝试将 MsgBox 添加到您的 "On Current" 事件代码以进行测试。
祝你好运。
查看您的代码,您正在更改子窗体记录源,那么您是在子窗体还是主窗体上更改记录?
如果是子窗体,则需要使用子窗体的 OnChange 事件,而不是父窗体事件。