• ベストアンサー

ACCESS2000でグループごとに連番を振りたい

ACCESSで登録フォームを作成し、 そこで、下記のようなテーブルを作ろうとしてます。 伝票番号 明細番号 商品   1   1   りんご   1   2   みかん   2   1   すいか   2   2   かき   1   3   なし   3   1   くり 伝票番号ごとに連番を振って行きたいのですが、 オートナンバー型にしてしまうと、伝票番号に 関係なく、連番を振ってしまいます。 この場合の解決方法を教えていただけないでしょうか。

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

  • ベストアンサー
  • tonjiru
  • ベストアンサー率37% (63/168)
回答No.1

こんなクエリを作成します。 テーブル名のところを変更してください。 クエリ名 「明細最大」 SELECT Max(明細番号) AS 明細番号の最大, 伝票番号 FROM テーブル名 GROUP BY 伝票番号 登録フォームで、商品名の更新後イベントあたりで Me!明細番号 = Nz(DLookup("明細番号の最大", "明細最大")) + 1 既に入力したデータにグループごと連番を振りたいなら参考URLを。

参考URL:
http://www.accessclub.jp/samplefile/samplefile_72.htm
7_11shop
質問者

お礼

できました。意外と簡単にできるんですね。ありがとうございます。

関連するQ&A

  • ACCESSのテーブルで、昇順並び替え後、連番フィールドを作成したい

    表題の通りなのですが、 今現在ACCESS2000を使ってデータベースを作成しています。 その際、 ---------------------- 連番  項目 00001  りんご 00002  ばなな 00003  みかん 00004  もも ---------------------- というようなテーブルで[項目]を昇順で並び替え後、 連番が自動的に振られるようなクエリ(無理そうならその他の方法でも)を作成したいと思っています。 今現在はクエリで以下のように昇順で並び替えられたものを、 ---------------------- 連番  項目 00002  ばなな 00003  みかん 00004  もも 00001  りんご ---------------------- 一旦エクセルにエクスポートして、オートフィルで[連番]を書き換え後、再度ACCESSにインポートし以下のような完成形にもっていっています。 ---------------------- 連番  項目 00001  ばなな 00002  みかん 00003  もも 00004  りんご ---------------------- しかし、頻繁に[項目]書き換え・追加のあるデータベースなので、結構な時間を費やしてしまい、とても効率が良いとはいえない状態です。 どうにかACCESS内で完結できる方法はないものでしょうか? ご享受の程よろしくお願いいたします。

  • リストボックスの複数選択について

    ACCESS2003を使っています。 入力用フォームにリストボックスを作って 複数選択するようプロパティで変更しました。 この情報をテーブル上に反映させることができません。 どうしたらいいのかお教えください。 具体的には 入力用フォームに りんご(*) みかん かき(*) スイカ   (*)印は黒反転 この状態で入力するとテーブル上に りんご かき というように表示するようにしたいのです。

  • Access2000 連番の振り方

    次のようなテーブルに対して連番を振りたいのです。 伝票番号  日付   行番号   金額 00001   2007/01/01  1    1000 00001   2007/01/01  2    1000 00001   2007/01/01  3    1000 00002   2007/01/02  1    1000 00002   2007/01/02  2    1000 00002   2007/01/02  3    1000 以下はこのような状態で続く。 ここで知りたいのは、同日のデータに対しては伝票番号は同じ番号で 行番号のみ連番を振る。 日が変われば伝票番号は次の番号になり、行番号は新たに1から 振りなおすというものです。 クエリーでこのようなことは可能でしょうか。 やはりVBAで組まないと出来ないのでしょうか。 この方法を教えていただきたくお願いいたします。

  • ACCESS 連番を付けて同じレコードを追加

    あるレコードから別のテーブルに任意の番号から連番を付けて同じレコードを追加する方法はないでしょうか? 下のような感じです。発行した各種引換券の引換の有無を確認するようなものが作りたいのですが・・・ 引換券発行テーブル   種類    開始引換券番号   発行枚数 みかん引換券   00010       5枚 すいか引換券   01030       3枚           ↓ 受取確認テーブル              種類    引換券番号   受取 みかん引換券   00010    Yes/No みかん引換券   00011    Yes/No  みかん引換券   00012    Yes/No  みかん引換券   00013    Yes/No  みかん引換券   00014    Yes/No  すいか引換券   01030    Yes/No すいか引換券   01031    Yes/No すいか引換券   01032    Yes/No 簡単で良い方法をご存じの方いらっしゃいましたら、ご教示願います。

  • フィルターが掛かった状態でクエりで連番

    クエリでフィルターが掛かった時、連番を付ける事をしたいのですが、この式だと下記の様に連番を付ける事が出来ませんでしたのでご教授頂けれは幸いです。 連番: Val(DCount("*","テーブル名称","ID <= " & [ID])) 例1> テーブル例 ID 品名 1 みかん 2 りんご 3 ぶどう 4 みかん 5 りんご 6 みかん クエリ例 品名 みかんをフィルター ID 品名 連番 1 みかん 1 4 みかん 2 6 みかん 3 例2> テーブル例 ID 品名 120 みかん 121 りんご 123 ぶどう 124 みかん 125 りんご 126 みかん クエリ例 品名 みかんをフィルター ID 品名 連番 120 みかん 1 124 みかん 2 126 みかん 3

  • ACCESS 追加クエリでレコード数の指定したい

    Win XP Access2003 見積伝票を作成しております。サブフォーム(帳票フォーム)の登録方法でご教授お願い致します。 "伝票明細テーブルW"(伝票番号,行番号,内容、数量、単価、・・・)を基にした "伝票明細クエリW"を作成し、入力しやすいようにフォームを開いた時に行番号(連番)を振り、30行表示するようになっています。 入力確認後に登録ボタンをクリックして追加クエリを開き"伝票明細テーブルW"から"伝票明細テーブル"に30件レコード保存するようになっているのですが、 場合によって内容が2~3行で終わる時があります。 このような時に無駄に30行のレコードを保存せず"内容"(フィールド)が入力されているの最終レコードまでで伝票明細テーブルに追加したいのですが、よい方法がありましたら宜しくお願い致します。 "内容"(フィールド)は途中に空白の時があります。 行番号    内容        数量  1     オイル交換      3.0  2  3     タイヤ交換       4.0

  • 【ACCESS2003】行ごとに表示非表示を変更したい

    ACCESS2003を使っています。 帳票形式のフォームを作り、各行ごとに 明細に飛ぶための編集ボタンを作りました。 そこで、たとえば、2番と3番の伝票番号など特定の番号にのみ、編集ボタンを表示させることはできないものでしょうか。(使用可不可変更でも可) 伝票番号   商品   1 りんご       2      みかん    [編集ボタン]   3      なし     [編集ボタン]

  • ACCESSで

    まず始めに。 私はAccess初心者なので、何をどう質問して良いかもはっきりは分かりません。何か、足りない部分があれば書いて下さい。 喫茶店の売り上げ集計(メニュー別&顧客別)等のシステムをAccess2002で作っています。 と言っても、まだ始めのほうで詰まってしまっての質問です。 商品テーブル、商品の中分類テーブル、大分類テーブル、売上伝票テーブル、明細テーブルと在り、商品登録クエリ&フォーム、売り上げ登録クエリ&フォーム、明細登録クエリ&フォームがあります。 売り上げ登録フォームは、売り上げ伝票としています。 明細登録フォームは売り上げ登録フォーム(メイン)のサブフォームとしてあります。 メインフォーム上に入力日、販売日、顧客名(IDからクエリで引いてきます。)等をテキストボックスやコンボボックスなどで入力します。 伝票IDはオートナンバー型で指定し、それをサブフォーム上のIDに代入して登録しています。 大分類で飲み物と食べ物を分け、中分類で、『ホット系・アイス系・生ジュース系・カレー系・・・・軽食系・ケーキ系』等と分かれており、カレー系から軽食系までは、大盛小盛が指定出来るのですが、これを明細フォームでチェックボックスで入力しています。 問題はここからで、帳票形式の明細フォームで入力しているのですが、大盛、小盛が指定出来ない物の行のチェックボックスの『visible』を「false」にし、大盛、小盛が指定出来る物の行のチェックボックスの『visible』は「true」にしたいと想い、VBAで組みました。が、レコードセットを使わないとメインフォーム中の全ての行のチェックボックスの『visible』が同時に変わってしまいます。 windowsXPのコントロールパネルのODBCの設定もおかしいかもしれませんがどうしても分かりません。 基本的な事なのかもしれませんが、よろしくお願いします。

  • Accessでの連番設定に関して

    Accessでの連番設定に関して教えて下さい。 Access2010で注文DBを作成しています。 注文フォームにはサブフォームが設けてあり、サブフォームに注文明細を入れています。 サブフォームには明細IDのフィールドが作成してあります。 注文フォームを開けた時に常にサブフォームの明細IDが1から始まるようにしたいと考えているのですが、方法をお教えいただければと思います。 よろしくお願いします。

  • access2003 複数のフォームから入力したデータに通し番号を付けてストックしたい

    初心者の恥ずかしい質問かもしれないので申し訳ありませんが、自力で解決できないのでアドバイスをお願いします。 伝票入力画面を作っています。  ◆親)売上入力フォーム:売上管理番号/日付/取引先/売上合計金額 ◆子)売上明細フォーム:商品コード/商品名/単価/数量/明細金額 ◆売上入力テーブル:売上管理番号/取引先/日付 ◆売上明細テーブル:明細番号/売上管理番号/商品コード/数量/明細単価 伝票が数種類あるため、それぞれの伝票を画像として取り込んで複数の入力画面を作り、入力しやすくしようと思っています。 このとき、各フォームから入力したデータを、オートナンバーでひとつの売上入力/明細テーブルにストックしていくにはどうしたらよいでしょうか? よろしくお願いします。

専門家に質問してみよう