• 締切済み

Accessで、入力した内容を伝票として発行する

Accessで、フォームを作り、そこに伝票発行に必要な情報を入力します。レポートを用意しておいて(しておく必要があるんですよね?)その内容が印刷されるようにしておく。 フォームにボタンを割り付けて、入力したらそのボタンをクリックすると伝票が発行されるようにしたいのですが、どうすればいいのでしょうか?フォーム・レポートは作成済みです。 いつもお世話になってすみません。 よろしくお願いします。m(_ _)m

みんなの回答

  • kakkysan
  • ベストアンサー率37% (190/511)
回答No.2

ANo.1の方のように本格的ではありませんが、簡易に済ますなら。 まず、新規マクロ作成で、アクションに(▼を押すとアクションのリストが出てきます)「レポートを開く」を指定。 レポート名を指定、ビューを印刷にする。 このマクロに適当な名前を付けて保存。 フォームにコマンドボタンを割り付けて、ボタンのプロパティで「イベント」の所で「クリック時」に「上記マクロ」を指定 以上です。ご参考までに

xchoxcho
質問者

お礼

さっそくのお返事ありがとうございました。 こちらのやり方が非常に簡単なので(^^;) とりあえずやってみます。 うまくいかなかった場合、再度補足させていただくかもしれません。 No.1の方も含め、よろしくお願いします。m(_ _)m

noname#22222
noname#22222
回答No.1

さて、以下は関係するコードの抜粋です。 ・フォームとレポートをどのようにリンクさせるているのかを反映して修正する必要があります。 ・レポートを専用フォームに印刷するのであれば、出力をデータだけに限定する必要があります。 適当に参考にして下さい。 Private Sub コマンド納品書プレビュー_Click() On Error Resume Next   If Nz(Me.ID) <> 0 Then     DoCmd.OpenReport "納品書", acPreview, , "伝票番号=" & Me.伝票番号   Else     ErrorMsg "主キーが未定のフォームは印刷できません。"   End If End Sub DoCmd.OpenReport "納品書", acNormal, , "伝票番号=" & Me.伝票番号  ' プレビューしない場合! <納品書.レコードソース> SELECT DISTINCTROW 売上伝票標題.ID, 売上伝票標題.伝票日付, 売上伝票標題.得意先ID, 売上伝票標題.伝票番号, 売上伝票標題.販売担当者ID, 売上伝票標題.売上金額合計, 売上伝票標題.消費税率, 売上伝票標題.消費税額, 得意先マスター.郵便番号, 得意先マスター.住所1, 得意先マスター.住所2, 得意先マスター.ビル等, 得意先マスター.得意先名 FROM 得意先マスター INNER JOIN 売上伝票標題 ON 得意先マスター.ID = 売上伝票標題.得意先ID; Private Sub Report_Page()   '   ' OnlyTextBox 関数は、テキストコントロールを残し、その他をレポートから消します。   '   OnlyTextBox Reports!納品書 End Sub Public Sub OnlyTextBox(ByVal rpt As Report)   Dim ctl As Control   For Each ctl In rpt.Controls     ctl.Visible = (ctl.ControlType = acTextBox)   Next ctl End Sub

xchoxcho
質問者

お礼

さっそくの回答ありがとうございました。 No.2の方のやり方で、うまくいかなかった場合、また質問させていただくと思います。よろしくお願いします。m(_ _)m

xchoxcho
質問者

補足

随分と時間が経過してしまいましたが、この質問はまだ有効でしょうか?(しばらくして返事がなかった場合、新たに質問させていただくかもしれません。ご了承ください) No.2の方のやり方では、印刷はできますが、存在するデータのすべてのレポートが出力されてしまいます。(データが10件入力されていれば、10枚のレポートが出てしまいます) 今回の質問では、現在表示しているフォームに入力したデータのみをレポートで印刷するという方法です。 有効であれば、補足していただけますか? よろしくお願いします。m(_ _)m