2016-07-01 2 views
0

쿼리 및 폼이 포함 된 데이터베이스가 설정되어있어 문제가 발생합니다. 양식에 ID 값 목록 (예 : 1, 2, 3, ...) 중에서 선택할 수있는 드롭 다운 메뉴가 있습니다. 일단 값을 선택하면 버튼을 클릭하고 드롭 다운 ([Forms]! [KitInfoRetrievalForm]! [DropDown])에서 ID 번호의 매개 변수로 쿼리를 실행합니다.쿼리에 대해 값을 반환하지 않는 드롭 다운 매개 변수

여기서 문제는 드롭 다운 메뉴에서 무언가를 선택하고 쿼리를 실행하기 위해 버튼을 클릭하면 [Forms]! [KitInfoRetrievalForm]을 대체 할 값을 묻는 팝업 상자가 나타납니다. ![쓰러지 다]. 이것은 어느 날 드롭 다운 메뉴가 어떤 이유로 든 null 값이거나 내 경로가 잘못되었다고 생각하게합니다.

이것은 한 지점에서 작동하고 다른 Access 프로젝트에서 일련의 이상한 오류 메시지가 발생한 후 중단되었습니다. 당신이 나에게 줄 수있는 도움은 매우 감사 할 것입니다.

+0

에 의해 [Forms]![KitInfoRetrievalForm]![DropDown] 교체 [양식] [KitInfoRetrievalForm] [드롭]! '는 쿼리 기준에 대한 올바른 구문입니다. 오류 메시지가 관련이 없다고 확신합니까 ?? –

+0

그래, 그들은 다른 형태와 모듈을 사용하고있었습니다. 전혀 관계가 없습니다. 당분간 나는 지금까지도이 DB가 작동하는 이전 버전으로 갔고 아무런 차이점도 발견하지 못했다. – Ulthran

답변

0

기능별로 쿼리의 드롭 다운에 대한 참조를 바꾸는 것이 좋습니다. 이 문제를 해결해야하며 또한 모든 최근 버전에있는 Access의 오래된 버그에 대한 해결 방법입니다. 폼/하위 폼이 데이터 시트 모드이고 필터 (사용자 인터페이스 또는 VBA를 통한 빠른 필터)를 적용하면 중지됩니다 컨트롤 또는 매개 변수에 대한 참조로 변수를 읽고 마지막으로 사용한 값을 사용합니다. 내가 읽는 형식/하위 폼 컨트롤 값에 대해이 기능을 사용하고 : 귀하의 경우

Public Function GetControlValue(strFormName As String, strControlName As String, Optional strSubFormControlName As Variant) As Variant 
On Error Resume Next 
If IsMissing(strSubFormControlName) Then 
    GetControlValue = Forms(strFormName).Controls(strControlName).Value 
Else 
    GetControlValue = Forms(strFormName).Controls(strSubFormControlName).Form.Controls(strControlName).Value 
End If 
End Function 

는`나열했습니다 무엇

GetControlValue("KitInfoRetrievalForm","DropDown")