2012-05-03 3 views
2

가 여기에 내가 무슨 짓을했는지의 인쇄하지 않음 :MS 액세스 매개 변수 쿼리는

은 내가 crtiterias 중 하나가 [시작 날짜]와 [종료 날짜] 사이에되는 매개 변수 쿼리를 만들었습니다. 그런 다음 매개 변수 쿼리를 다른 바운드 필드와 함께 배치하고 하위 폼을 작성했습니다. 지금까지 아무런 문제가 없으며 효과가 좋습니다.

인쇄하거나 양식을 PDF로 변환하려고 할 때 문제가 있습니다. 예를 들어 인쇄하도록 요청하자마자 매개 변수 쿼리의 팝업이 나에게 날짜를 묻는 팝업으로 나타나고 심지어 다시 입력하면 (다시) 나에게 여러 번 묻고 인쇄 작업을 취소합니다 .

화면에 무엇을 인쇄하려고 할 때 쿼리가 본질적으로 실행되지 않게하려면 어떻게해야합니까? PDF를 만들려고 할 때도 똑같은 일이 발생합니다.

답변

1

겸손한 의견으로는 매개 변수가 MS Access에서 잘못 처리됩니다.

실험적인 쿼리를 제외하고는 쿼리가 실행될 때마다 값을 입력해야한다고 생각합니다. 잘못된 방향입니다. 매개 변수를 전달할 수 있다면 보고서를 자동화하는 것이 훨씬 쉬울 것입니다. 일반적으로

, 나는 쿼리의 WHERE 절에 매개 변수없이 보고서를 만든 다음 자신에 문의하기 전에 당신은 또한 보고서에서 쿼리를 변경할 수 Remou's answer here

에 추가됩니다 WHERE 조건을 통과 하지만 그건 꽤 해키 야.

- 편집 -

나는 혼란을 겪는다. 나는 당신이하고있는 것을 보고서 (형식이 아님)로 해석했습니다.

인쇄 작업을 렌더링/포맷하려고하면 양식의 레코드 소스를 여러 번 호출해야합니다. 그리고 그것이 왜 당신에게 그 데이터를 요구하는지.

select foo 
from bar 
where 
    yaddah_date between [Start Date] and [End Date] 

을 그리고 당신은 당신이 후자 인쇄하려고하는 폼의 레코드 원본으로 해당 쿼리를 사용했습니다 : 나는 당신의 질문을 이해하는 바로는

, 당신은 다음과 같습니다 쿼리가 PDF로. 먼저 양식의 아날로그 인 보고서를 만들어야합니다. 그리고 다음에 필터를 사용하여 인쇄 할 보고서를 엽니 다

DoCmd.OpenReport "myReport", , , , _ 
        "yaddah_date between " & txtStartDate & _ 
         " and " & txtEndDate 

(마지막 부분은 기본적으로 데이터를 생성하는 것 쿼리 결과에 적용됩니다보고 절 필터 /)입니다. 당신이 양식을 인쇄해야하는 경우

, 당신은

DoCmd.OpenForm "foo", acNormal, , _ 
       "yaddah_date between " & txtStartDate & _ 
        " and " & txtEndDate 

비슷한 작업을 수행 할 수 있습니다 또는 폼/하위 폼의 filter 속성을 설정할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 당신이 준 링크를 체크 아웃했는데, 이것이 무엇을 할 것인지, 어디에서 구현할 것인지에 대해서는 조금 불명확합니다. 백엔드 솔루션 구현에 익숙하지 않습니다. 설명해 주시겠습니까? 고맙습니다! –

관련 문제