2012-07-10 2 views
1

내 설정 : tblAuthors 및 tblBooks 두 개의 테이블이 있습니다. tblAuthors에는 목록 작성자가 포함되어 있습니다 : Kurt Vonnegut, Frank Herbert, JK Rowling, John Nichols 등. tblBooks에는 도서 목록이 포함됩니다. 도살장 5, 고양이의 기수, 원숭이 집, 모래 언덕, 해리 포터, Milagro Beanfield 전쟁 등MS Access 2007 보고서 내에서 키워드를 검색하여 보고서를 생성하십시오.

tblBooks에는 '발췌'라는 메모 콜림이 포함되어 있습니다. 이 절에는 특별한 의미 또는 의미를 갖는 각 소설의 작은 단락이 포함되어 있습니다.

나는 frmAuthor와 frmBooks도 두 가지 형태가 있습니다. frmAuthor에는 작성자의 이름과이 질문과 관련이없는 작성자 관련 정보 (생년월일, 출생지, 선호하는 장르, 영감 등)가 포함됩니다. frmBooks에는 저자 이름뿐만 아니라 일부 다른 정보 (출판사, 완료 날짜, 장르)가 포함됩니다.

현재 필터 기능을 사용하여 양식 내에서 보고서를 생성하고 있습니다. 나는 현재 그것을 사용하여 단순한 물건 (저자 이름 또는 장르)을 찾습니다. 내 양식에서 발췌 섹션을 사용하여 보고서를 생성 할 수 있기를 희망했습니다. 나는 일반적인 단어 (예 : 하나님, 뱀, 말, 교회, 집, 길 ...) 또는 구절을 발췌하여 찾을 수 있기를 바란다. 그렇게하면 공통 주제로 보고서를 생성 할 수 있습니다.

내가 이것을 분명히해야하는지 알려주세요. 조금 뒤얽힌 것처럼 보일 수도 있습니다. 시간 내 주셔서 감사합니다.

답변

1

이 보고서는 tblBooks을 기반으로 (frmAuthor에서) author_name에 의해 필터링 및 단어 형태 중 하나를 선택해야 할 날 것으로 보인다 (frmBooks?). 내가 올바르게 해석하고, frmAuthortxtAuthor 및 frmBooks라는 이름의 텍스트 상자가 포함 된 경우 사용자가 발췌 필드에서 단어를 입력 txtSearch라는 텍스트 상자를 포함 한 경우 이와 같은 쿼리를 반환하는 경우

그래서, 참조 당신이 원하는 행.

SELECT * 
FROM tblBooks 
WHERE 
     author_name = Forms!frmAuthor!txtAuthor 
    AND excerpts Like '*' & Forms!frmBooks!txtSearch & '*'; 

실제 쿼리 이름을 대체 한 후 해당 쿼리가 적합하면 보고서의 레코드 원본으로 사용할 수 있습니다. (그러나 SELECT 필드 대신 SELECT *의 이름의 실제 목록)

은 다른 방법은 보고서의 레코드 원본으로 필터링되지 않은 쿼리를 사용하여 공급하여 열 수 있다는 WhereCondition로 (단어 WHERE없이) WHERE 절 매개 변수 : DoCmd.OpenReport :

Dim strWhere As String 
strWhere = "author_name = Forms!frmAuthor!txtAuthor" & _ 
    " AND excerpts Like '*' & Forms!frmBooks!txtSearch & '*'" 
Debug.Print strWhere 
DoCmd.OpenReport "YourReportName", WhereCondition:=strWhere 
관련 문제