• ベストアンサー

accessでボタンクリックで表示中のレコードをラベルに印刷する方法

会社情報のデータベースをアクセスで作成しています。 フォーム上で会社Aを表示させ、そこにあるボタンをクリックするとラベル(39面詰)いっぱいに会社Aの名前・住所などを印刷することができるボタンを作成したいと思っているのですが、何か良い方法はないでしょうか? アクセス2002を使用中です。 何かいい方法がありましたらご教授くださいm(__)m

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

>示中のレコードのみをボタンを押すことによって印刷したいと思っているのですが レポートのプロパティを出しデータにあるレコードソースの右にある...のボタンをクリックしクエリビルダを出しSQLステートメントに抽出条件を入れればフォームに表示されているレコードのみ出力できます。 会社情報のレコードがあるテーブルのキーをフォーム上から取得するようにすれば出来ます。 例えば会社情報のテーブルに会社コードというキーがあるとしてフォーム上にも会社コードというコントロールがあるとします。 SQLステートメントでレポートに必要なフィールドを追加して(全部でもかまわないと思います)会社コードの抽出条件に = Forms![フォーム名]![会社コード] のようにすればフォーム上に表示されているレコードだけレポートに出力できます。

ionsui
質問者

お礼

どうもありがとうございました。 やっとのことでボタンから表示レコードを印刷するボタンを作ることができました。 また何かありましたら宜しくお願い致しますm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • gosuke32
  • ベストアンサー率29% (36/124)
回答No.3

私だったらこうします。 (1)会社情報のテーブルの作成 ・会社情報テーブル 「一連番号」・・数値型orオートナンバー(キー) 「郵便番号」 「住所」 「会社名」・・・その他は必要に応じて (2)会社情報のフォームの作成 ・会社情報フォーム フォームにラベル作成のボタンを設けてください。 (3)ラベル用クエリの作成 ・ラベル用クエリ コントロールソースは「会社情報テーブル」で 「一連番号」、「郵便番号」、「住所」、「会社名」 「一連番号」の抽出条件のところに、 「Forms!会社情報フォーム!一連番号」を入力して下さい。 (4)ラベル用レポートの作成 ・ラベル用レポート コントロールソースは「ラベル用クエリ」で作成お願いします。 (5)フォームとレポートの連携 フォームの「ラベル作成」のボタンのプロパティのイベントのクリック時を「イベントプロシージャ」で Private Sub ラベル作成_Click() On Error GoTo Err_ラベル作成_Click DoCmd.OpenReport "ラベル用レポート", acPreview exit_ラベル作成_click: Exit Sub Err_ラベル作成_Click: MsgBox Err.Description Resume exit_ラベル作成_click End Sub を入力して下さい。 するとフォームのボタンを押すとプレビューが表示されますので、それを印刷すればOKです。 お試しあれ。

ionsui
質問者

お礼

ありがとうございます。 ご参考にさせていただきましたm(__)m

全文を見る
すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>名前が適切ではありません:詳細_print と表示がでて・ 失礼しました。 1箇所訂正です。レポートの詳細のプロパティのフォーマット時のイベントは Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) ではなく Private Sub 詳細_Format(Cancel As Integer, PrintCount As Integer) ですよね。 詳細のフォーマット時イベントを上記のように詳細_Printから詳細_Formatにしてください。フォーマット時イベントのコードビルダを開いた時のPrivate Subの名前そのままです。 印刷時のイベントからコピーしたので詳細のフォーマット時のイベントでPrintをFormatに直すの忘れました。 ゴメンなさい。

全文を見る
すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

モジュールを使う場合。レポートが1枚分のラベルサイズのレポートとした場合 ラベルのレポートの詳細に非表示のテキストボックスを1つ作ります。例えばそのテキストボックス名をText1としラベルの印刷枚数を枚数とて指定した場合。 レポートの詳細のプロパティのフォーマット時のイベントに Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) Dim 枚数 As Integer 枚数 = 39 If [Text1] <> 枚数 Then [Text1] = [Text1] + 1 Else [Text1] = 1 End If End Sub 同様に印刷時のプロパティに Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) Dim 枚数 As Integer 枚数 = 39 If [Text1] <> 枚数 Then [Text1] = [Text1] + 1 Else [Text1] = 1 End If End Sub を記述します。 これでラベルを39枚出力するレポートが出来ます。 印刷枚数が可変する場合は 枚数 = 39 の部分を 枚数 = Forms![フォーム名]![コントロール名] にしてフォームに枚数を指定するコントロールを作りそのコントロールから枚数を取得すればOKです。

ionsui
質問者

補足

ありがとうございます。 上記の方法を試してみたのですが、名前が適切ではありません:詳細_print と表示がでてレポートのプレビューへの切り替えがうまくいきません。 あと、表示中のレコードのみをボタンを押すことによって印刷したいと思っているのですが、やはり難しいのでしょうか? 誠に勝手なお尋ねで恐縮です。 お時間ありましたらご教授ください。 宜しくお願い致しますm(__)m

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Accessの連絡先データをラベルに印刷したい(超初歩的です)

    アクセスのデータベースで、名前や会社名、住所や電話番号、日付など載ってるテーブルがあります。 300件くらいあるのですが、 ここから名前、会社名、住所だけをラベルに印刷して封筒に貼りたくて、 それを自動的にラベルにするような方法を知りたいです。 データベースをいじってみたのですが、 ラベル作成っていうのが見つかりませんでした。見落としてたのかもしれませんが。 Accessは名前や住所とかを名刺をみながら入力したことしかなくて、 他の操作方法とか用語とかもゼンゼン分かりません。 シールか何かに印刷すればいいということだけはわかります。 どなたか分かりやすく手順を教えていただけるか、 分かりやすいやり方が載ったURLなどあったら教えてください。 よろしくお願いします。

  • Access からのラベル作成時、一部のレコードのみ作成したい

    Accessを使い慣れていないのですが、ラベルを作成する時に、一部のレコードのみを選んで作ることができますか? 住所録をAccessに入れているのですが、もう挨拶状を出さなくて良い古いデータをアーカイブ化することなく同じデータベースに入れて、ラベル印刷の時のみそれを除外したいのです。 今は、例えば2002年なら2002と入れた新しい列を作ってその列を基準に昇順で並べ直しし、その上で必要な箇所のラベルページのみ印刷するようにしています。もっと良い方法がないものでしょうか。

  • ラベルをクリックしてレコードを移動したいのですが。

    ラベルをクリックしてレコードを移動したいのですが。 Access2000で帳票フォームを作成しました。選択したレコード(たとえば上から5番目のレコード)のテキスト部分をクリックした場合はそのレコードがカレントレコードになりますがラベル部分をクリックしてもレコードが移動しません(カレントレコードになりません)。 ラベルをクリックしてレコードを移動させる方法を教えて頂きたくよろしくお願いいたします。

  • クリックしたときにボタンの色や立体表示を変えたいのですが。

    Access2000(Windows XP)を勉強中の初心者です。 フォーム上で、ツールボックスによりラベルまたはコマンドボタンでボタンを作成し、クリックしたときにボタンの色または、立体表示を変えることは可能でしょうか。可能でしたら方法を教えてください。

  • Access2000の宛名ラベルについて

    こんにちは、Access2000で宛名ラベルを作成しました。何も特別な事はしていなく、一般的な宛名ラベルを作成したのですが、表示された、住所とか名前の文字が全て左に90°傾いている!?と言ったらよろしいでしょうか、首を左に傾けると文字が読める状態になってしまっています。どうしたらよいでしょうか? 質問がよく伝わらないかもしれませんが、文字が90°傾いてしまっていて、印刷も出来ない状態なのでどなたかご教授ねがいます!

  • アクセスのレポートで宛名ラベルを作成したいのですが・・・

    アクセスのレポートで宛名ラベル(ヒサゴA4に12ラベル)を作成したいのですが、ページ設定で、用紙サイズを指定し作成できないようです。wordでは、差込印刷で作成したのですが、SQLデータベースのデータをアクセスで つなぎ、必要なデータ(取引先、郵便番号、住所等)で選択クエリを作成し、それを差込印刷機能でもってきたのですがwordを開いて編集するとすぐ、固まってしまいます。アクセスのレポートで作成できれば良いのですが・・ 良い方法があれば教えてください。

  • accessで ラベルをクリックしたときにコマンドボタンのような動作をさせたいのです。

    こんにちは。よろしくお願いします。m(__)m アクセスのフォームに、コマンドボタンを貼り付けて、クリック時にいろいろな動作を設定しているのですが、コマンドボタンには色をつけられないので、なんだか味気ないのです。 それで、ラベルを使うと色もつけられるし、クリック時のイベントプロシージャーも使えるし、便利だよと教えてもらったのですが、クリックしても、したのかどうか、わからないので、頼りないのです。 そこで、マウスボタンクリック時と、解放時のイベントプロシージャーを設定してやるといいよときいて、そうかぁ、なるほどぉ!! と思い、やってみようとしているのですが、どのように設定したらいいのか、さっぱりわかりません。 クリックしたときに、コマンドボタンのような動作をさせるには、どのように設定したらいいのか、教えていただけるとうれしいです。 よろしくお願いします。

  • アクセスでラベル印刷

    アクセスでラベル印刷しましたが、住所が長いと1行の終りが、中途半端な所で改行されてしまう、修正をしたいのです。100件程度 〒124-5621    東京都渋谷区渋谷4丁 目125番地 十月 太郎  様 追伸、こういう方法はないのでしょうか? アクセスでラベル印刷作成後、エクスポートでエクセルにして修正、表画面でなく、修正画面はラベル印刷のレイアウト画面(ビュー)で修正したいのです。そのほうが修正がわかりやすいのです。

  • アクセスのラベル印刷で質問です

    アクセスでラベル印刷をしています 住所 会社名 枚数 というデータがあり、会社は数百社あります これをもとに会社ごとの希望枚数のラベルを印刷することはできますでしょうか? お教えください よろしくお願いいたします

  • Accessで宛名ラベルに同一宛先を複数印刷したい

    Access2010で下記宛先テーブルに対して、フォームで印刷したい宛先と枚数を指定することで同一の宛先のラベルを複数枚印刷することを考えています。 宛先テーブル(コード、名称) 1、会社A 2、会社B 3、会社C ・ ・ 例えば コード:2 枚数:20 とフォームで入力し、同フォームに配置した[印刷]ボタンを押すと管理用の乱数とともに20枚分の宛名ラベルを印刷します。 会社B   会社B 2183 3901 会社B   会社B 5563 4231  ・      ・  ・      ・  ・      ・ 同じような過去の質問と回答も拝見しましたが、それぞれ求める内容が微妙に異なりマッチしませんでした。 皆様のお知恵を拝借致したくよろしくお願いいたします。

専門家に質問してみよう