2017-11-06 5 views
0

이 질문은 어떤 형태로든 또는 여러 가지 방법으로 여러 번 요청되었지만 작동하는 솔루션을 찾지 못해서 나를 미치게합니다. Access에서 VBA를 통해 선택한 쿼리를 실행하여 테이블에있는 데이터를 찾는 검색 양식을 만듭니다. 지금까지 이것은 매우 직설적이었으며 쿼리가 작동하고 폼이 결과를 반환합니다. 문제는 하위 폼을 사용하여 결과를 반환/표시하고 한 번에 하나의 결과 만 반환한다는 것입니다.서브 폼 데이터 시트 전용 반환 1 결과

설치 마법사를 사용하여 기본 양식에 하위 양식을 추가했으며 그 과정에서 두 양식을 연결했습니다. 데이터 시트로 표시되는 하위 폼이 있지만 "연속 폼"으로 변경하더라도 한 번에 하나의 레코드 만 반환합니다. 내 하위 쿼리 Record Source 내 선택 쿼리 (Select * From tbl_Search)로 설정하고 내 생각에 대해 생각할 수있는 거의 내 양식에 대한 Record Source 설정했습니다 (선택 쿼리, 테이블, 아무것도 ...).

다음 화살표를 계속 클릭하지 않고도 하나의 데이터 시트에서 모든 레코드를 반환 할 수있는 방법이 있어야한다는 것을 알고 있지만 아직 그 방법이 무엇인지 파악하지 못했습니다.

코드 자체에는 문제가 없으므로이 질문에 대답하기 위해 어떤 종류의 이미지 나 코드 블록이 필요한지 알 수 없으므로 가능한 한 서술적이되도록 노력했습니다. 이 질문에 답하는 데 도움이되는 코드 또는 스크린 샷이있는 경우 알려 주시기 바랍니다.

답변

3

기본 양식이 언 바운드이어야합니다. 검색 쿼리를 만들고 하위 폼의 레코드 소스로 설정합니다. 당신은 예를 들어, 쿼리에 매개 변수로 기본 폼의 필드를 전달할 수 있습니다

PARAMETERS [Forms]![YourMainForm]![YourTextField] Text (255); 
SELECT * 
FROM YourTableName 
WHERE ((([FieldName)=[Forms]![YourMainForm]![YourTextField])); 

검색을 실행할 때해야 할 유일한 것은 .Requery 하위 폼이다.

Me.SubformName.Form.Requery 
+0

도움을 주셔서 감사합니다.하지만 여전히 문제가 있습니다. 지금은'내 * 서브 트리 내에서 SELECT * FROM tbl_Search WHERE ((Form_Name Like ""* "& [Forms]! [Program Search]! [strsearch] &"* ""))'를 내 검색어로 사용합니다. 내 하위 폼의'Record Source'에는 간단한 'Select * from tbl_Search'가 있습니다. 내 주요 폼에는'Me.SubformName.form.requery'가 있는데 '메소드 또는 데이터 멤버를 찾을 수 없습니다.'라는 오류가 발생하고 프로그램을 실행하려고하면 내 하위 폼 이름이 강조 표시됩니다. – Jcmoney1010

+0

'SubformName'을 서브 폼 컨트롤의 실제 이름으로 변경해야합니다. –

+0

죄송합니다. 분명히해야합니다. 실제 서브 폼 이름을 사용하고 있습니다. 서브 폼 이름은'Me.SubformName' 예제에서 사용했습니다. 응답에 포함되어 있기 때문입니다. 내 의견을이 예와 일관되게 유지하려고 노력했다. – Jcmoney1010