我需要根据当前记录在表单中设置特定下拉列表的记录源,即当我单击下一条记录时,记录源应该更新。
但我找不到任何这样做的事件。这需要在不添加任何额外/新按钮的情况下完成。
我尝试使用“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
最佳答案
当表单聚焦于新记录时,将触发“当前”事件。 打开表单时确实会发生这种情况,因为表单上有记录。
“加载时”和“打开时”在打开表单时触发一次。
尝试将 MsgBox 添加到“On Current”事件代码中以进行测试。
祝你好运。
关于ms-access - 导航到下一条记录时触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42956159/