「お昼の放送」の思い出

Access2010についてお教えください。

添付の画像のように「テストメインフォーム」があります。
フォームには「テストサブフォーム」というサブフォームが配置されています。

画像はないですが、「テストレポート」というレポートもあります。

やりたい事。

テキストボックス(テスト1の値)に文字列を入力し、印刷ボタンを押す。

テキストボックスに入力された値をキーに「テストレポート」にデータが渡され、プレビュー表示。

「テスト5」のチェックボックスをONにする。
添付画像では、テキストボックスに入力された値が003のため、サブフォームの
テスト1の値が003の行のテスト5のチェックボックスをONにする。

以上の事を実現できる方法をお教え頂けませんでしょうか。

DoCmd.OpenReport "テストレポート, acViewPreview, , "テスト1 = '" & txt_inputID & "'"
とやったら、クエリパラメータみたいになり、テキストボックスの値を直接見るといったことが
できませんでした・・・

「MS Accessのフォームについて」の質問画像

A 回答 (1件)

sub 印刷ボタン_click()


DoCmd.OpenReport "テストレポート, acViewPreview, , "テスト1 = '" & txt_inputID & "'" を
DoCmd.OpenReport "テストレポート, acViewPreview, , "テスト1 = '" & me!txt_inputID & "'" ,openargs:=me.name
にしてください。

あとチェックボックスの方なのですが、印刷プレビューだけの場合でもチェックを入れて構わないのでしょうか?
勝手に印刷時のみと思い込んで回答します。
レポートの其々のイベントに下記のように、といってもYU-TANG さんの受け売りですけど。

Option Compare Database
Option Explicit
Private IsPreview As Boolean ' プレビュー判定用フラグ

Private Sub Report_Activate()
  IsPreview = True
End Sub

Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer)
  If Me.Visible Then IsPreview = False
End Sub

Private Sub Report_Close()
  If Nz(Me.OpenArgs, "") = "" Then
    Exit Sub
  End If

  If IsPreview Then
    ' 印刷プレビューの場合の処理
    MsgBox "印刷プレビュー"
  Else
    ' 印刷の場合の処理
    If MsgBox("印刷は無事終了しましたか?", vbYesNo) = vbNo Then
      Exit Sub
    End If
    
    CurrentDb.Execute ("UPDATE てーぶる名 SET テスト5 = True WHERE テスト1='" & Me!txt_inputID & "'")
    Forms!テストメインフォーム.Recalc
  End If

End Sub


補足
  If Nz(Me.OpenArgs, "") = "" Then
    Exit Sub
  End If
はレポートを単独で開かれた場合には何もしないということです。
DoCmd.OpenReport "テストレポート, acViewPreview, , "テスト1 = '" & me!txt_inputID & "'" ,openargs:=me.name
でフォームから開いた場合は、openargs:=me.name で名前を渡しています。

蛇足
    If MsgBox("印刷は無事終了しましたか?", vbYesNo) = vbNo Then
      Exit Sub
    End If
は今回の場合は1レコードだけ?の変更なので邪魔かもしれないです。
多くのレコードの一括変更の場合などの時は入れとくと幸せになれるかも。
※夏バテ気味で何処かにポカが空いてるかも知れません。。。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。最初は何が書いてあるかわかりませんでしたが、ネットで調べたらレポートのイベントというのがわかりました。そして、教えて頂いたコードを自分なりのものに置き換えたら、なんと!!見事にできました。ありがとうございます!感謝感謝です。

お礼日時:2012/09/06 16:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


おすすめ情報