2008-11-04 3 views
1

MS Access 보고서에서 보고서를 작성하고 데이터를 검색하고 MS-Word 형식으로 보고서를 표시 할 수있는 VBA 코드를 작성했습니다. 그러나 런타임에 보고서를 생성하는 동안 보고서는 처음 몇 초 동안 보고서 디자인보기를 표시하거나 깜박이고 보고서가 생성됩니다.MS-Access 보고서는 실행시 디자인보기를 표시합니다.

보고서를 생성하는 동안 디자인보기가 깜박 거리지 않도록하는 해결책을 찾고 싶습니다. 이 MS-Access 또는 VBA 코딩이 가능합니까? ??

액세스 양식 코드에서 액세스 보고서를 호출하는 데 사용한 행을 게시하고 있습니다.

DoCmd.OpenReport의 첫 번째! [인수], acPreview

이 보고서를 생성하지만 디자인 화면이 실행하는 동안 몇 초 동안 깜박입니다.

그리고 액세스 보고서에는 VBA 코드가 없습니다.

실제 실행은 임시 액세스 테이블에서 데이터를 준비하고 테이블에서 보고서를 생성합니다.

문제는 미리보기 모드에서 보고서를 실행하는 동안 보고서의 디자인 화면에 몇 초가 걸린다는 점입니다. 이것은 사용자 측면에서 나빠 보인다.

+0

어떤 버전의 Access입니까? 거기에 단 한 줄의 코드 만 있거나 디자인을 수정하는 설치 코드가 있습니까? – Knox

답변

0

. 따라서 창 숨겨진 디자인 뷰가 아니라는 것을 확실히 할 수 있습니다.

또한이 코드는 레코드 집합의 값을 OpenReport 명령에 전달할 때 발생할 수있는 ByRef 참조 문제를 방지합니다.

1

일부 속성을 변경하려면 디자인보기에서 보고서를 여는 것 같습니다. 이 문제를 피할 수는 있지만 보고서를 여는 코드를 게시해야 확실히 말할 수 있습니다.

0

보고서를 MS-Word로 내보내는 방법은 무엇입니까? 코드가 뭐니?

VBA 코드 대신 간단한 보고서 (테이블 데이터 원본 사용)를 사용해도 되나요? 어쩌면 VBA가 너무 오랫동안 실행되어보고를 인식 할 수있을만큼 오랫동안 보고서를 디자인 모드로 열어 두었을 것입니다.

Dim strReport As Report   
    strReport = rst!Argument 
    If SysCmd(acSysCmdGetObjectState, acReport, strReport) Then 
    DoCmd.Close acReport, strReport 
    End If 
    DoCmd.OpenReport strReport, acPreview 

무슨 코드가하는 일은 보고서가 이미 모든보기에서 열려 있는지 확인하고 다음 경우를 닫고는, 다음을 엽니 다 :이 코드를하려고하면 어떻게됩니까

0

VB6 응용 프로그램에서 MS 액세스 보고서를 호출 할 때도 동일한 문제가 발생합니다. 필자가 시작했을 때 나타나는 양식이 있기 때문에 필자의 경우에 그 이유가있다. 시작 폼을 선택하지 않은 경우에는 표시되지 않아야하므로 깜박 거리지 않아야합니다.

도움이 될지 알려주세요.

마이크