2012-03-01 7 views
1

폼에 콤보 박스가 있습니다. 특정 라벨을 클릭하면이 콤보 박스가 숨겨집니다. 문제는 콤보 상자에 포커스가있는 경우이 콤보 상자를 숨기는 단추를 클릭하면 오류가 발생한다는 것입니다.이 런타임 오류를 어떻게 해결할 수 있습니까?ms 액세스 2007에서 포커스가있는 컨트롤 숨기기

답변

1

초점을 이동합니다. 필요한 경우 포커스를받을 아주 작은 컨트롤을 만듭니다.

Me.SomeControlThatIsNotTheCombobox.SetFocus 

다시는이 라벨은 컨트롤과 관련이없는 것을

주 댓글.

Private Sub Label1_Click() 
    Me.Text1.SetFocus 
    Me.Label1.Visible = False 
End Sub 
+0

+1 투명 bg의 작은 텍스트 상자를 사용하면 아무도 초점 변경을 볼 수 없습니다. –

+0

새 작은 텍스트 상자에는 언제 포커스를 설정해야합니까? 숨길 레이블을 클릭 할 때? – user1175126

+0

레이블, 콤보 박스 또는 둘 다를 숨기고 있습니까? – Fionnuala

0

오히려 당신이 탭의 키 누름을 시뮬레이션 할 경우 양식 변화에 대한 컨트롤이, 다음의 다음 객체로 이동합니다 초점을 맞출 경우 향후 유지 보수 문제를 일으킬 수있는 특정 컨트롤에 포커스를 설정하는 것보다 탭 순서.

SendKeys "{TAB}" 
DoEvents 
Me.Command4.Visible = False 

참고 : 탭을 처리하려면 doevents가 필요합니다.

+0

같은 질문을 다시 :이 코드를 어디에 넣어야합니까? 나는 콤보 박스를 숨기는 라벨의 클릭 이벤트에 넣으려고했다. 나는 같은 오류가있다. 초점에있는 컨트롤을 숨길 수는 없다. – user1175126

+0

SendKeys는 거의 좋은 생각이 아닙니다. 그것은 비틀에 대해 약간의 혼란없이 작동하지 않으며 Windows 7과 동일하다고 상상합니다. – Fionnuala

+0

예. 마지막으로 작동하지 않습니다. 나는 명령 단추를 사용해야 만하고 컨트롤을 숨길 수는 없습니다. 나는 이제 동일한 콤보 박스를 사용하여 레이블을 클릭 할 때 다른 레코드를 표시합니다. – user1175126

관련 문제