過去ログ

                                Page     393
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼レポートのプレビューについて  どら 03/10/2(木) 13:15

 ───────────────────────────────────────
 ■題名 : レポートのプレビューについて
 ■名前 : どら
 ■日付 : 03/10/2(木) 13:15
 -------------------------------------------------------------------------
   最近VBAをはじめたばかりのスーパー初心者です。

VBAで2種類のレポートプレビューさせたいのですが1種類のものがうまくプレビューすることが出来ません。症状としては、Nページ分のレポートをプレビュー表示させたいのですが2ページ目以降のレポートを開こうとするとプレビュー画面が閉じてしまいます。

しかし、その後同じ処理を行うときちんとNページ分のレポートが正しくプレビューされます。

これはプログラムの組み方が悪いのでしょうか?

原因と対策をご存知の方ご教授願います。

以下のプログラムを作成しました。

On Error GoTo Err_method

Dim stDocName As String
Dim dbs As Database
Dim rs As Recordset


Set dbs = CurrentDb
Set rs = dbs.OpenRecordset("販売企業マスタ")

With rs

Do Until .EOF

    If (id = !請求書フォーマットID) Then    
    'MsgBox "--debug--HIT!!" & id
      
      
        Select Case !出力数 '出力数を判定する。
      
          Case 1:
          DoCmd.OpenReport !出力帳票名, acPreview
          
          Case 2:
          DoCmd.OpenReport !出力帳票名, acPreview
          DoCmd.OpenReport !出力明細1, acPreview
          
          Case 3:
          DoCmd.OpenReport !出力帳票名, acPreview
          DoCmd.OpenReport !出力明細1, acPreview
          DoCmd.OpenReport !出力明細2, acPreview
          
          Case Else
          
          MsgBox "出力数が不明です。マスタを確認して下さい。", vbCritical, "出力数エラー"
      
          End Select
          
          Call on_flg(!販売企業名称)
          
          Exit Do
      
    End If
    
    .MoveNext

Loop
  
End With

rs.Close: Set rs = Nothing
dbs.Close: Set dbs = Nothing

Exit_method:
  Exit Sub

Err_method:
  MsgBox Err.Description
  Resume Exit_method

End Sub

よろしくお願いします!!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 393