• ベストアンサー

ACCESS97で単表フォーム上からレポート印刷をする。

ACCESS97でマクロを使用しています。 単表フォーム上にコマンドボタン(レポートを開くマクロを使用し、単表フォームのIDを入力し印刷しています。)を配置しています。 レポートを印刷するのに、IDの入力を省略したい、どうすれば良いでしょうか。 マクロまたはVisual Basicでお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • pooh_200x
  • ベストアンサー率46% (7/15)
回答No.2

私も経験者様と同じで下記のように記述致しました。 初心者なので下手な記述でスミマセン! 参考にもならないかもしれませんが、よかったらドウゾ! '------------------------------------------------------------ ' 【概 要】From2 レコード更新・印刷・終了 ' 【所 在】From2「更新」クリック時イベント ' 【戻 値】 ' 【作 成】pooh200x 2001.5.21 '------------------------------------------------------------ Private Sub cmdKousin_Click() Dim kosyin As Integer Dim lngID As Long Dim tojiru As Integer kosyin = MsgBox("更新しますか?", vbYesNo) If kosyin = vbNo Then 'Noだったら Exit Sub '閉じる End If DoCmd.RunCommand acCmdSaveRecord '保存する lngID = MsgBox("印刷を行いますか?", vbYesNo) If lngID = vbNo Then  Exit Sub End If lngID = Me.txt1.Value   ’txt1というTxtBoxに[=id]と入力しておきそれをキーにして印刷       DoCmd.OpenReport "印刷", acViewNormal, , "id=" & lngID 'レポート名「印刷」を「id」というオートNOをキーに出力       'acViewPreview を選択するとプレビュー tojiru = MsgBox("画面を閉じます(^O^)/~~", vbYesNo) If tojiru = vbNo Then Exit Sub End If DoCmd.Close DoCmd.OpenForm "メインフォーム" End Sub

sos7
質問者

お礼

有難うございました。初心者なので良くわかりました。次回またアドバイスよろしくお願いします。

その他の回答 (1)

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

Private Sub コマンド0_Click() DoCmd.OpenReport "レポート名", acViewPreview, , "フィールド名 = " & Me.IDコントロール名 End Sub ってするのが楽な方法でしょうね。 不明点とかあったら、補足してください。

sos7
質問者

お礼

ACCESS97は非常に難しいので次回もアドバイスよろしくお願いします。

sos7
質問者

補足

早速の回答有難うございます。 IDがテキストだったので8月11日までかかりました。有難うございました。

関連するQ&A

専門家に質問してみよう