【Access2010】レポート作成時に1番目のグループ化で連番をふる方法は?

このQ&Aのポイント
  • Access2010のレポートで1番目のグループ化で連番をふる方法について教えてください。
  • 2番目のグループ化では簡単に連番をふることができましたが、1番目のグループ化では連番がとびとびになってしまいます。
  • テーブルには複数のグループがあり、1番目のグループ化で連番を1からふる方法を教えてください。
回答を見る
  • ベストアンサー

Accessのレポートで連番をふる方法

いつもお世話になっております。 Access2010のレポートで連番をふる方法をお教え願います。 レポートの中で2つグループ化しています。2番目のグループ化では、テキストボックスのプロパティでコントロールソースに「=1」を、集計実行に「グループ全体」を設定すれば、連番を簡単にふることができました。 今回お聞きしたいのは、1番目のグループ化で連番をふる方法です。 例として、下記のようなテーブルがあるとします。 【テーブル名:T_予算】 業者区分 物品区分 物品名 市内 消耗品 あ 市内 消耗品 い 市内 消耗品 う 市内 消耗品 え 市内 消耗品 お 市内 食糧 か 市内 食糧 き 市内 食糧 く 市内 食糧 け 市内 役務 こ 市内 役務 さ 市内 役務 し 市内 委託 す 市内 委託 せ 市内 委託 そ 市内 委託 た 私なりに調べて、レポートに下記のように設定しました。 ①1番目のグループ化で連番を入れたいテキスト(名称:通し番号)を詳細セクションに配置しました。 ②1番目のグループヘッダーセクション(名称:グループヘッダー0)のイベント「フォーマット時」に Me!通し番号 = 0 を設定しました。 ③詳細セクションのイベント「フォーマット時」に If FormatCount = 1 Then Me!通し番号 = Me!通し番号 + 1 End If を設定しました。 これをレポートで実行すると下記のようになります。 【レポート名:R_予算】 ◆市内 ←1番目のグループ化 【消耗品】 ←2番目のグループ化 あ 1[1] い 2[2] う 3[3] え 4[4] お 5[5] ※「1」は2番目のグループ化の通し番号、 「[1]」は1番目のグループ化の通し番号です。 【食糧】 か 1[9] き 2[10] く 3[11] け 4[12] 【役務】 こ 1[16] さ 2[17] し 3[18] 【委託】 す 1[20] せ 2「21」 そ 3「22」 た 4「23」 このように表示されますが、なぜか1番目のグループ化の通し番号が5から9に、12から16に、18から20になってしまいます。 番号がとびとびにならず、1から16までふる方法はありますでしょうか。 どうかご教示をお願いいたします。 この例において1番目のグループ化は1つしかありませんが、実際のテーブルでは何個もあります。

  • ankle
  • お礼率43% (80/182)

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1610/2448)
回答No.5

> なぜ、2つとも「1ページにグループをまとめる」に設定するとこうなるかは不明ですが。 戻り時イベントで Private Sub 詳細_Retreat() Me.通し番号 = Me.通し番号 - 1 End Sub としてみてください。 最後の方だけしか読んでいないのですが 参照: レポートのイベントの発生メカニズムの研究 その2 https://hatenachips.blog.fc2.com/blog-entry-148.html

ankle
質問者

お礼

kkkkkmさん、いつもお世話になっております。 2つとも「1ページにグループをまとめる」に設定した状態で、戻り時イベントに「Me.通し番号 = Me.通し番号 - 1」を入力したところ、思い通りになりました。 大変ありがとうございました。 今後とも、どうぞよろしくお願いいたします。

その他の回答 (4)

  • kkkkkm
  • ベストアンサー率65% (1610/2448)
回答No.4

> ちなみに、このようにとびとびになるのは、どこに原因があるのか予想つきますでしょうか。 最初は、何か裏でフォーマットが空回りしているのかと思ったのですが、飛ぶ間隔が同じじゃないですし、なんかよくわからない感じです。 Me!通し番号 を Me.通し番号 にしても同じですよね。

ankle
質問者

補足

kkkkkmさん、何度もご回答ありがとうございます。 原因が分かりました。 1番目と2番目のグループ化それぞれで「1ページにグループをまとめる」の設定をしていたからでした。 この内、2番目のグループ化で「1ページにグループをまとめない」に設定したら、番号が順番通りになりました。 なぜ、2つとも「1ページにグループをまとめる」に設定するとこうなるかは不明ですが。 kkkkkmさん、今後ともどうぞよろしくお願いいたします。

  • kkkkkm
  • ベストアンサー率65% (1610/2448)
回答No.3

No.2の画像ですが 同じデータを市内市外で流用したので、物品区分や物品名が市内市外同じになっています。 解決方法ではありませんが、2013でできたという事が何かの参考になればと思います。

  • kkkkkm
  • ベストアンサー率65% (1610/2448)
回答No.2

> 1番目のグループ化が次の名称(例:市外)になった時も番号が続いてしまうため、この方法は使えないようです。 すみません、全体に通し番号を振るのと勘違いしてました。 ただ、こちら(2013)で質問のように設定して試したのですが番号が飛ぶことはありませんでした。 If FormatCount = 1 Then Me!通し番号 = Me!通し番号 + 1 End If は Me!通し番号 = Me!通し番号 + 1 だけにしても結果は同じでした。

ankle
質問者

お礼

kkkkkmさん、いつもお世話になっております。 さて、kkkkkmさんが同様に行うと連番でなったとのことでしたので、新規にレポートを作成し再度行ってみたところ、私も連番をふることができました。 うまくいかなかったレポートは、別のAccessからインポートしたのを内容を変更し作成したものでした。 今度は、勉強のために番号がとびとびになる原因を探っているところですが、いまだ不明です。 ちなみに、このようにとびとびになるのは、どこに原因があるのか予想つきますでしょうか。

  • kkkkkm
  • ベストアンサー率65% (1610/2448)
回答No.1

名称:通し番号の コントロールソースに「=1」を、集計実行に「全体」 を設定してみてはいかがでしょう。

ankle
質問者

補足

kkkkkmさん、いつもお世話になっております。 テキストボックス「通し番号」のコントロールソースに「=1」を、集計実行に「全体」を設定すると、1番目のグループ化が次の名称(例:市外)になった時も番号が続いてしまうため、この方法は使えないようです。

関連するQ&A

  • アクセスレポートのグループごとの通し番号について

    いつもお世話になっております。 Accessのレポートにおけるグループごと通し番号の振り方について、お教えください。 下記のようなテーブルがあり、業者区分、地区、物品区分でグループ化しレポートに出力しています。 【テーブル名:T_予算】 業者区分 地区 物品区分 物品名 市内 A 消耗品 あ 市内 A 消耗品 い 市内 A 消耗品 う 市内 A 消耗品 え 市内 A 消耗品 お 市外 B 食糧 か 市外 B 食糧 き 市外 B 食糧 く 市外 B 食糧 け 県内 C 役務 こ 県内 C 役務 さ 県内 C 役務 し 上記テーブルのデータで下記レポートのように連番を振りたいと思っています。 業者区分、地区、物品区分は同じ内容としていますが、連番を振る基準となるのは、最初のグループ化にしている業者区分を想定しています。 実際使用するデータも3つあるグループ化のうち、最初でグループ化している内容で連番を振るようにしています。 【レポート名:R_予算】 [業者区分グループ]  市内 [地区グループ]  A [物品区分グループ]  消耗品 [物品名]  あ 1 ← 連番  い 2  う 3  え 4  お 5 [業者区分グループ]  市外 [地区グループ]  B [物品区分グループ]  食糧 [物品名グループ]  か 1  き 2  く 3  け 4 [業者区分グループ]  県内 [地区グループ]  C [物品区分グループ]  役務 [物品名グループ]  こ 1  さ 2  し 3 また、業者区分グループのヘッダーは、複数ページになった場合を想定し、「セクション繰り返し」を「はい」に設定しています。 上手く伝わらない表現ですみませんが、ご教授をよろしくお願いします。

  • アクセスレポートのセクション繰り返しについて

     いつもお世話になっております。  アクセスレポートの「セクション繰り返し」についてお聞きいたします。  グループ化した項目名をグループヘッダー0セクションにテキストボックスを配置して、「セクション繰り返し」を「はい」にし、印刷した際はそのグループ化した項目名がグループ化した全ページに印刷なるようにしました。  また、当該レポートではグループ化を2つしており、最初のグループ化(グループヘッダー0)で連番をふっています。 この最初のグループ化に連番をふるモジュール等は次のとおりです。 1 詳細セクションに非連結の「通し番号_GP」を配置し、ここにグループ化ごとの連番が表示なるようにしています。 2 グループヘッダー0セクションのフォーマット時に下記のモジュールを配置しています。  Private Sub グループヘッダー0_Format(Cancel As Integer, FormatCount As Integer)  Me!通し番号_GP = 0  End Sub 3 詳細セクションのフォーマット時に下記のモジュールを配置しています。  Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)  If FormatCount = 1 Then  Me!通し番号_GP = Me!通し番号_GP + 1  End If  End Sub  ここで、グループヘッダー0の「セクション繰り返し」を「はい」にして印刷をすると、1ページ目は正しく連番になるのですが、2ページ目になると0から始まってしまい、連番でなくなってしまいます。  また、グループヘッダー0の「セクション繰り返し」を「いいえ」にして印刷をすると、今度は正しく次のページも連番となります。  別のグループ化のページになった際も、正しく1から始まり連番となります。  このように上手く連番がふることができず困っています。  希望する形としては、グループ化した名称がグループ化した全ページに印刷になること、さらにこのグループ化ごとの連番が次のページになっても正しく表示されることとなります。  上手く説明ができませんが、どうぞご教示くださいますようお願いいたします。

  • Access2002でレポート(納品書)に連番を打ち出したい

    色々検索したのですが、なかなかヒットせず、質問させていただくことにしました。 要望は単純です。でも、私に回答を導くことはできませんでした。 一般的な「納品書」をレポートで印刷する際、連番(ユニークであればなんでもかまいませんが)を振って、印刷したいのです。 裏にあるテーブルやクエリには連番フィールドがないので、困っています。と申しますか、フィールドをどこかに作ろうと思っても、リレーションをつなぐ相手がいないのです。 「注文」に紐付けるにも、納品書は複数の「注文」から成り立っているので、相手が複数になりますし、「顧客」に紐付けると、今度はユニークにならず。。。 「連番テーブル」みたいなものを独立させ、クエリを実行するたびに[番号+1]のような処理をさせようかとも考えましたが、独立したテーブルを作ってクエリに紐付けると、Accessから怒られまして。。。 文房具店に売っているような納品書には最初から連番が振ってあるものがありますよね?あのイメージです。 どなたか解決策をお持ちの方がいらっしゃれば、是非ご教授お願いいたします。

  • アクセスのレポートでの連番付番方法について

     いつもお世話になっております。  アクセス2016のレポートで、連番のふり方についてお教えいただきたいと思います。  レポートでは、最初に日付でグループ化し、次に名前でグループ化しています。  連番は最初のグループ化でしている日付でふりたいのですが、やり方が分かりませんので、どうぞご教示をお願いいたします。  イメージは、下記のように考えています。 【例】テーブル名:T_仕事 日付    名前   仕事 8月1日  ああああ aaa 8月1日  ああああ bbb 8月1日  いいいい ccc 8月1日  うううう ddd 8月2日  うううう eee 8月2日  うううう fff 8月2日  ええええ ggg 8月2日  おおおお hhh 8月2日  おおおお iii 8月3日  かかかか jjj 8月3日  かかかか kkk レポート名:R_仕事 日付   名前   仕事 連番 8月1日 ああああ aaa  1           bbb  2      いいいい ccc  3      うううう ddd  4 8月2日 うううう eee  1           fff   2      ええええ ggg  3      おおおお hhh  4           iii   5 8月3日 かかかか jjj   1           kkk  2

  • ACCESS2000でサブレポートに連番を付与する方法

    ACCESS2000でレポートを作成しています。 サブレポートの各行に項番を出力したいのですが、やり方がわからないので教えてください。 コントロールソースとなるテーブルには、項番は存在しません。 カウンタ用の変数を設け、レポートオープン時に初期化、サブレポートの詳細セクションのフォーマット時にカウントアップして、サブレポートの連番エリアにセットするコーディングをしたのですが、それだと、以下のようになってしまいます。 <詳細セクションの印刷時拡張プロパティ=はいの場合> 先頭のレコードの項番が1からスタートせずに、1ページに出力されているレコード数+1となっています。 <詳細セクションの印刷拡張時プロパティ=いいえの場合> 項番は1から付与されるのですが、複数ページにおよぶ場合、2頁目以降が出力されない どなたかお知恵をおかしください。

  • Access レポート印刷時のイベントについて

    お世話になります。 Access VBAにて以下の処理を行ってます。 1.フォーム上のテキストボックスに数値を入力しボタンを押す。 2.ボタンが押されたらテーブルAを作成(入力された数値分レコード作成)。 3.テーブルAの『連番』フィールドに、テーブルBの『番号』の次の番号から連番でふる。 4.テーブルAの『連番』の最後の番号を、テーブルBの『番号』に上書きする。 5.テーブルAをソースとしてレポート(印刷プレビュー)を表示。 そこで質問ですが、上記の処理だとレポートを表示するだけでもテーブルBの『番号』が更新されてしまいます。本来であれば、レポートが印刷されたタイミングで更新したいところです。 ※レポートを印刷せず、×で閉じられたような場合は更新させないようにしたい。 レポート上で右クリック⇒印刷、もしくは、レポートを開いている状態でメニューの印刷ボタンが押されたタイミング、ファイル⇒印刷のタイミングで、テーブルBを更新することは可能でしょうか。 ご教授の程、宜しくお願い致します

  • ACCESS 宛名ラベル(レポート)の連番の書式を設定したい

    ACCESS初心者です。 「符号」-「連番」順の住所一覧テーブルから、 クエリで「符号」別にわけ、「符号」別に分けたクエリから 「符号」別に宛名ラベルを作っています。(符号は10種類) 2000件ほどの連続番号を振っているので、連番のラベル表記を 『A-0001』のように4桁で統一したいのですが、 テーブルやクエリでは4桁で表示されるのに、 ラベルではうまく表示されません。(1ならA-1となってしまいます) フィールドは、符号と連番は別フィールドで、 連番の書式は、書式設定で4桁の0を入力して設定しています(『0000』) レポートを作成する際に、「符号」と「連番」を連結して 表示させています。 できれば、レポートの設定で上記を実現したいのですが、 どうすればいいのでしょうか? よろしくお願いしますm(_)m

  • ACCESS レポートで常に1から番号を振る方法

    もしかしたら簡単なことなのかもしれませんが、まったく見当すらつかないので教えてください。 レポートで1行目から番号をふりたいのですがどうすればいいのでしょうか? ACCESS2000で、あるデータを読み込んでそれをレポートで表示させるDBを作っています。 表示・印刷するためだけのDBなので、別のデータを表示・印刷する場合は削除クエリを使っていったんテーブルを削除して、表示させたいデータをインポートさせています。 オートナンバーで番号を振ると、削除クエリを実行させると削除する前のデータの続きの連番をふってしまいますよね?そうではなくて、常に1行目に1、2行目に2を振りたいのです。 テーブルかクエリに振るのかな?と思ったのですが、レポートに直接番号を振る方法もあるのでしょうか? どちらに番号を振ってもいいのですが、レポートに番号を表示するよい方法がありましたらお教えください。

  • Access2016のレポートについて

     いつもお世話になっております。  Access2016のレポートで困っていますので、ご教示をお願いいたします。  下記のようなテーブルがあり、代表者がまだ決まっていない地域があるため、空白となっている所があります。  これをレポートで出力した際、代表者が空欄となっている所は1行分空いてしまいます。この代表者が空欄となっている所を詰めて出力したいと思います。  いろいろと調べて、詳細セクションと代表者名のテキストボックスの印刷時縮小をそれぞれ「はい」にすると、null値または「長さ0の文字列」の時は自動で詰まるとありましたが、なりませんでした。  どうか、ご教示をよろしくお願いいたします。 【テーブルA】 地区名   地域名   代表者名 AAA     あああ   ネズミ AAA     ああい   ウシ AAA     ああい  (空白) BBB    いいあ   トラ BBB     いいあ   ウサギ CCC     ううあ   タツ CCC     ううあ  (空白) CCC     ううい   ヘビ 【レポートA】 地区名(グループ化)  地域名(グループ化)  代表者名(詳細セクション) AAA             あああ                         ネズミ             ああい                         ウシ                         (空白行) ------------------------------- BBB             いいあ                         トラ                         ウサギ ------------------------------- CCC             ううあ                         タツ                         (空白行)             ううい                         ヘビ ------------------------------- ↓空白行をなしで出力したい形 【レポートA】 地区名(グループ化)  地域名(グループ化)  代表者名(詳細セクション) AAA             あああ                          ネズミ             ああい                          ウシ ------------------------------- BBB             いいあ                          トラ                          ウサギ ------------------------------- CCC             ううあ                          タツ             ううい                          ヘビ -------------------------------

  • access2003 レポートで教えてください。

    従業員管理のデータベースを作っています。クエリからレポートを作成しました。 フィールド1は従業員番号欄になっており正社員は1から連番で番号が入力され、パートさんは空欄になっています。フィールド2は退職欄になっており正社員パート問わず、退職者は退職年月日が入力され、在籍者は空欄になっています。レポートで印刷するとき、正社員の在籍者、パートの在籍者、正社員の退職者、パートの退職者の4グループに分けて印刷したいのです。いろいろ試してみましたが、うまくいきません。あまり専門用語もわかりませんので。どなたかわかりやすく教えてくだされば、助かります。

専門家に質問してみよう