폼의 활성 컨트롤이 다른 컨트롤로 변경되었는지 확인할 수있는 MS-Access 폼 이벤트를 찾고 있습니다. 작은 스크립트가 실행될 때.액티브 컨트롤 변경 이벤트 - MS 액세스
이 기능은 양식이 활성화되어있을 때만 실행되는 기능이어야합니다 (예 : 양식 클릭 등). 그러나, Form_Click()은 어떻게 든 같은 창문이 아니므로 작동하지 않습니다. 나는 거기에서 무슨 일이 일어나는지 알지 못합니다. Form_Click()은 컨트롤이 아닌 양식 조각 (예 : 레코드 선택기)을 클릭하는 경우에만 작동합니다. 이 메서드는 컨트롤마다 하나의 메서드가 아닌 모든 메서드에 사용할 수 있습니다.
내 코드 : <<Form_ActiveHasChanged()>>
내 이벤트 인
Private Sub <<Form_ActiveHasChanged()>>
desc = Forms(Me.Form.Name).Controls(Me.ActiveControl.Name).StatusBarText
Me.txtInfo.Caption = desc
End Sub
..이 할 수있는 방법이 있나요? 사용자가 양식에서 벗어나는 것처럼 타이머를 사용할 수 없으며 Me.ActiveControl이 더 이상 창에 없으며 오류가 발생합니다. 또는 누군가가 점검 할 방법을 알고 있다면 : WithEvents
을 사용하는 클래스 모듈을 통해이를 수행 할 수 있습니다 :
If (Me.Form IS IN ACTIVE WINDOW) Then ....
로스트 포커스가 맞지 않습니까? 그 후에 API가 적합 할 수 있습니다. – Fionnuala
문제는 양식의 모든 컨트롤에서 작동하기를 원합니다. 나는 몇몇 양식 (수 많은 탭)에서 30 개 이상의 컨트롤을 가지고있다. 또한 Lost_Focus() 또한 "컨트롤이 활성 창에 없습니다"라는 오류를 겪고 있다고 생각합니다. 나는 내 질문에 대해 좀 더 명확히 할 것이다. – StuckAtWork