Microsoft Access 掲示板

レポート印刷ラベル時のキャンセル実行 / 1

2 コメント
views
4 フォロー
1

①「一部のデータが表示されません。」←プリンタからの警告?通常は無視してOKしています。

レポートの幅が印刷範囲幅より大きいのではないでしょうか。
デザインビューでレポートの幅を、[用紙幅]-[左右余白]より小さくしてみてください。

⇒ここで、キャンセルを押すと「実行時エラー2501 OpenReportアクションの実行は取り消されました」と表示されます。

    DoCmd.OpenReport "R_ラベル印刷", acViewPreview
の前に、
    On Error Resume Next
を挿入するといいでしょう。

②「印刷開始位置を入力してください…」
⇒ここでキャンセルを押しても、OKを押したときと同様レポート画面に進んでしまいます。

①②でキャンセルボタンを押した際、キャンセルできるようにするにはどうすればよいでしょうか。

Private Sub Report_Open(Cancel As Integer)

    '開始位置入力 全角OK 漢字等は0になるが結果的に最初の位置から印刷
    '            [キャンセル]ボタンをクリック、または空欄の時は印刷しない
    Dim res As String
    res = InputBox("印刷開始位置を入力してください(1~)", , 1)
    If res = "" Then
        Cancel = True
    Else
        s_position = Val(StrConv(res, vbNarrow))
    End If
End Sub
通報 ...
  • 2
    ポンタ 2022/04/12 (火) 16:14:30 61d91@7c0be >> 1

    バッチリうまくいきました。大変助かりました。
    似たようなコードで一度実行していたのですが、(?)
    引数のエラーが出ていました。
    「Cancel = True」というのが必要だったのですよね。
    ありがとうございました。