
A 回答 (10件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>クエリで作成した抽出結果を元にラベル印刷をしたい
そのクエリを元にラベルを印刷するレポートを作ればできます。
>そのクエリに書かれている個数分だけラベルを作る・・
意味が分かりにくいのですがクエリで抽出されたレコード分だけと言うことでしょうか?
そのクエリを元に作ったレポートもしくはラベル印刷のレポートのレコードソースにそのクエリを指定し印刷する項目のフィールドがあっていればクエリで抽出されたレコード分しか印刷されません。
レポートの作り方は新規作成で宛名ラベルウィザードを使いそのクエリを元にすればすぐ出来ます。
質問の内容と違うようでしたらゴメンなさい。
早速の回答ありがとうございます。
印刷するレポートはすべてできています。
複数印刷の意味をうまく書けていませんでした。
過去のNo.236714の質問者の方と同じ状況です。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=236714
同じ方法で、解決できるのですが、もっと良い方法がありそうなので、質問させていただきました。
よろしくお願いいたします
No.2
- 回答日時:
クエリー結果に発行枚数が記載されているという事でしょうか?返答No1さんと同様に説明が足りないと思われます。
フォームを使用しているのであれば発行枚数を画面に
代入してマクロの繰返し機能で印刷すればVBAを使わずに
済むと思いますが・・・
説明不足で申し訳ありません
過去のNo.236714の質問者の方と同じ状況です。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=236714
同じ方法で、解決できるのですが、もっと良い方法がありそうなので、質問させていただきました。
マクロの繰り返し機能を使ったことがありませんので、教えていただけますでしょうか?よろしくお願いいたします
No.3
- 回答日時:
アクセスのレポートにおいては、もととなるクエリーで抽出したレコードの数だけ印刷されます。
クエリーの抽出結果が1件であれば1件分の印刷、
クエリーの抽出結果が100件であれば100件分の印刷をおこないます。
デザインにおいては通常レポートの[詳細]の部分が自動的にレコードの数だけ繰り返されて印刷されます。
同一のデータを複数回印刷する場合は印刷指示の時点で、枚数を設定する必要があります。
質問の意味がわかりにくくて申し訳ありません。
個数フィールドがあり、その数値の分だけラベル印刷したいのです。商品1の個数が2なら2枚分、商品2の個数が5なら5枚分という具合です。現状ではすべて1枚ずつしか出てきません。
過去のNo.236714の質問者の方と同じ状況です。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=236714
同じ方法で、解決できるのですが、もっと良い方法がありそうなので、質問させていただきました。
よろしくお願いいたします。
No.4
- 回答日時:
>クエリで作成した抽出結果を元にラベル印刷をしたい
クエリで抽出されたレコード数分だけラベルを出力したいということですね。
クエリで抽出しているレコードとラベルのレポートに使っているレコードソースが別であるということで考えると
例えばレポートは住所・氏名などの顧客テーブルでクエリで抽出しているレコードは受注テーブル等であるとして
レポートのレコードソースに使っているテーブルのフィールドとクエリで抽出しているレコードのフィールドでリレーションしているものがあればSQLスタートメントでそのクエリをテーブル追加すればリレーションによって抽出されたレコード分しか印刷されません。
リレーションしてなくても共通のフィールドがあればSQLスタートメント上でフィールド同士を連結すれば必要レコード(抽出されたレコード分)しか印刷されません。
この回答への補足
再度のご回答ありがとうございます。
どうも説明が下手で申し訳ありません。
レポートのレコードソースはクエリで抽出した物です。別ではなくて同じものです。
商品にラベルを貼りたいのですが、同じ商品が複数あれば、複数ラベル印刷をしたいのです。
その方法として、クエリに個数フィールドをつくり、その数値の分だけラベル印刷したいのです。例えば商品1の個数が2なら2枚分、商品2の個数が5なら5枚分という具合です。現状ではすべて1枚ずつしか出てきません。とりあえずの処置として先に書きました質問No.236714で対応しておりますが、もっと良い方法を知りたいのです。
よろしくお願いいたします。
No.5
- 回答日時:
2です。
質問者さんはマクロやVBAの経験がないという事ですが
他の言語(VisualBasicやVisualC++)の経験はどうでしょうか?
この質問を満足する為にはVBAを使用しないと
質問No.236714以上の複雑な結果になってしまうとおもうのですが。
ちなみにイベント系プログラムの経験が無いなら本とか
買って勉強しなおしたほうが早いですよ
この回答への補足
実は、かなり前に一度だけACCESS応用の講習会でマクロを見たことはありますが、その後使う機会がなく忘れてしまいました。
VBは入門程度でしたら経験があります。普通のC言語しか経験はなく、VisualC++は触ったことがありません。
力技的なやり方ではなくて、まともなやり方を知りたいのですが、他の急ぎの用件に追われていて、一から勉強している時間が取れないので困っています。
この場所で、やり方を教えていただけると助かると思い質問させていただきました。
かなり複雑になると思いますが、やってみたいと思います。
よろしくお願いいたします
No.6
- 回答日時:
'グローバルな変数の宣言何枚印刷されたか数えるための物
Dim maisuu As Integer
'商品毎のグループヘッダーを作成してください。中身はなくてかまいません。印刷枚数の初期値設定で下記のコードを入れてください。
Private Sub グループヘッダー0_Format(Cancel As Integer, FormatCount As Integer)
maisuu = 1
End Sub
'Me.NextRecordが次のレコードに進むかどうか決めるプロパティーです。falseに設定すると同じレコードを繰り返します。カウントして必要回数繰り返したらTrueに設定して次のレコードに進んでください。
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
If maisuu >= [数量] Then
Me.NextRecord = True
Else
Me.NextRecord = False
End If
maisuu = maisuu + 1
End Sub
こんな感じで行けると思います。このコードでは少なくとも1枚は印刷するので、事前にクエリーで0枚の物は省いておいてください。
ありがとうございます。
> 商品毎のグループヘッダーを作成してください。
この意味がわかりませんので、教えていただけませんか? また、上記のコードをどこに書けばいいのか(その画面の出し方も)わかりません。お手数ですが、再度教えていただければと思います。よろしくお願いします
No.7
- 回答日時:
レポートデザインにおいて、[表示]-[並べ替え/グループ化の設定]をクリック。
と、そのウィンドウが開きますので、
[フィールド/式]の項目に商品毎のIDもしくは品番等をリストから選んでください。
その項目でグループ化の設定をしたことになりますが、元々商品単位としては重複はしていないためこの時点では何も変わらないはずです。ただし今回の印刷リストの中に同じ商品が複数ある場合は1つにまとめられてしまうこともあるので注意してください。
右側の[並べ替えの順序]は昇順にでもしておいてください。
下の段に[グループヘッダー]という項目があると思いますのでそれを[はい/Yes]に設定してください。
これで、グループ化の設定は終わりですのでとりあえずこのウィンドウは閉じてもOK。
この時点でレポートのデザインの[詳細]の上の段に[品番ヘッダー](項目名+ヘッダーになっていると思います)が追加されていると思います。
このヘッダーの中にもいろいろ印刷したい物があれば項目を追加して印刷することも可能ですが今回は何もいらないのでここのヘッダーの幅を縮めて0にしてください。([詳細]項目の上の方をドラッグすると縮まります。)
デザインの設定はこれで終わりです。次にコードの方に移ります。
デザインにおいて[表示]-[コード]をクリックしてください。
[Report_品番ラベルクラスモジュール]などというレポート名の付いたウィンドウが開きます。
そこに
Dim maisuu As Integer
をまず1行追加してください。
つぎに、デザインをクリックして、先ほど作った[品番ヘッダー]をクリックし、プロパティのイベントのタブをクリック。
[フォーマット時]の項目をリストから選び[Event Procedure]としてください。そのあと右側に[・・・]と付いたボタンをクリックしてください。
すると、先ほど開いたコードウィンドウに
Private Sub グループヘッダー0_Format(Cancel As Integer, FormatCount As Integer)
End Sub
というのが追加されていると思います(ヘッダーの番号が違うかもしれませんが)
この中間の行に
maisuu = 1
を1行加えて
Private Sub グループヘッダー0_Format(Cancel As Integer, FormatCount As Integer)
maisuu = 1
End Sub
としてください。
同様に[詳細]の[フォーマット時]にもイベントを設定して
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
If maisuu >= [数量] Then
Me.NextRecord = True
Else
Me.NextRecord = False
End If
maisuu = maisuu + 1
End Sub
としてください。
入力後、コードウインドウで、[デバッグ]-[すべてのモジュールをコンパイルして保存]を実行しておいてください。
入力に間違いなどがあればエラーも出るかもしれませんがよく見て直してください。
後はこのレポートをプレビューすればOKのはずです。
がんばってみてください。
ありがとうございます。
やってみたのですが、最後のコードウィンドウというのがわかりませんでした。これかなって思う画面はあるのですが、そこには、[すべてのモジュールをコンパイルして保存]がないのです。
あと一歩のところまで来ているのに残念です。
できましたら、再度教えていただけますでしょうか?
Verは、2003です。
なお、3/7まで、インターネット利用ができないかもしれませんので、お礼を書くのが遅れるかもしれません。
No.8
- 回答日時:
コードを記述したモジュールウィンドウですね。
^^;;2003だとそこの[デバッグ]-[○○のコンパイル]を実行しておいてください。
(○○はデータベースの名前になっているかと思います)
御礼が非常に遅くなり申し訳ありません。
実はまだエラーが出るのです。
> If maisuu >= [数量] Then
のところで、私のプログラムでは個数になっていますので、[個数]に置き換えているのですが、”フィールド[個数]がありません”が出てしまうのです。
me.[個数]などともしてみましたが駄目でした。
なお、個数は印刷しませんが対象となっているテーブルの中のフィールドとして存在しています。
何度も申し訳ありませんが、よろしくお願いいたします。
No.9
- 回答日時:
ちょっと遅くなったので既に解決されているかもしれませんが、通常コードから参照できるのは実際のオブジェクトになった物だけですので[個数]フィールドを配置して、非表示にしておいてください。
(この際他のオブジェクトとかさなってもかまいません)これで、[個数]は印刷されずに必要な枚数印刷されるはずです。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- プリンタ・スキャナー Wordで作った宛名ラベルを印刷しようと思って、プリンターの上のところにある、手差しトレイ的なところ 3 2022/11/17 18:40
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- その他(買い物・ショッピング) 商品にラベルを貼って出荷するまでのの手順にについて 2 2022/09/29 15:26
- その他(データベース) 20万行あるデータを動かしたい 2 2023/06/13 15:21
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- 結婚式・披露宴 結婚式の席次表と席札を印刷するおすすめのところ教えて下さい。 結婚式で使用する席次表(ワード)と席札 1 2022/08/18 11:41
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESS2016 在庫数に応じた枚数のラベルを印刷したい
Access(アクセス)
-
ACCESS ラベルの枚数を指定して印刷したいんですが。
Access(アクセス)
-
ACCESS レポートの印刷枚数指定について
Excel(エクセル)
-
-
4
Access 宛名ラベル レポートの印刷部数を指定し、印刷を行う方法
Access(アクセス)
-
5
アクセスでレポートの1印刷内に複数のレコードを表示させたい
Visual Basic(VBA)
-
6
ACCESS チェックしたものを 印刷したい
Access(アクセス)
-
7
アクセスにおける宛名ラベル任意の場所からのの印刷
その他(Microsoft Office)
-
8
Accessで宛名ラベルに同一宛先を複数印刷したい
その他(プログラミング・Web制作)
-
9
ACCESSで、1ページに全て同じ宛名を印刷するには?
その他(データベース)
-
10
アクセスで特定のレコードのみのレポートを印刷したいのですが。
Access(アクセス)
-
11
Access顧客住所録から任意のデータ抽出して、宛名シールに印字方法を教えて下さい
その他(データベース)
-
12
Accessでラベルがうまく印刷できない
その他(Microsoft Office)
-
13
ボタン1つで1度に複数枚印刷するには?
Access(アクセス)
-
14
Accessのレポートで繰り返し表示させる方法について
Access(アクセス)
-
15
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
16
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
17
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
18
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
-
19
ACCESSで、EXCELのような、sumif関数のような関数ってありますか?
Access(アクセス)
-
20
[ACCESS]レポートで、指定した数だけレコードを表示する方法
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
ACCESS フォームをそのまま印刷...
-
Accessのフォームで、画面表示...
-
Access2013 レポートを印刷する...
-
アクセスで特定のレコードのみ...
-
ACCESSのレポートで、指定した...
-
アクセスのフォーム画面の印刷...
-
【Access】フォームのプロパテ...
-
アクセスのレポート合成(複数...
-
Access レポート印刷時のイベン...
-
★access2000★レポートを複数枚...
-
アクセルのレポートの2列の一...
-
Accessでのレポート出力
-
ACCESSの複数レポートの印刷に...
-
access 複数レポート印刷
-
「Access」 レポート上の値を印...
-
ACCESSからVBAでWORDの印刷を..
-
アクセスで希望のレポートを1枚...
-
アクセスでチェックボックスの...
-
アクセスのレポート印刷時にフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
ACCESS フォームをそのまま印刷...
-
アクセスのレポート合成(複数...
-
Accessのフォームで、画面表示...
-
ACCESSのレポートで、指定した...
-
accessのフォームをレポートに...
-
アクセスで特定のレコードのみ...
-
Accessフォームからパラメータ...
-
ACCESSの複数レポートの印刷に...
-
アクセスで希望のレポートを1枚...
-
ACCESS チェックしたも...
-
【Access】フォームのプロパテ...
-
Access レポート印刷時のイベン...
-
アクセスのフォーム画面の印刷...
-
Access2013 レポートを印刷する...
-
MS Access 印刷時に、印刷レコ...
-
Access印刷範囲の設定(...
-
ACCESSのマクロで特定のレポー...
-
ACCESSからVBAでWORDの印刷を..
-
Access 宛名ラベル レポートの...
おすすめ情報