Access初心者です。 下記のように申請順に申請番号毎の同一番号での採番をしたいのですが、クエリのDcountで試みましたが、下方のような結果となってしまいます。

Microsoft Access165閲覧

ベストアンサー

0

回答ありがとうございます! やはりVBAになるんですね。。。 今すぐ活かせるかどうかわかりませんが、ぜひコードの提供お願いします。VBA勉強します!!

ThanksImg質問者からのお礼コメント

回答してくださったどちらの方もベストアンサーとしたかったのですが、こちらの方とさせて頂きました。 どちらの回答も大変勉強になりました。 ありがとうございましたm(_ _)m

お礼日時:1/21 17:58

その他の回答(1件)

0

申請日と申請番号に基づいて連番を振ればいいのかな? そうなるように順を追うようにクエリを組み立てればイケそうな気がします。 3段階 ① 連番を振るための元になるクエリ 申請日と申請番号を組み合わせて1つのキーのようにしてみる それをグループ化してソートする SELECT Format([申請日],"yyyymmdd") & [申請番号] AS 順番元, 申請番号 FROM [テーブル] GROUP BY Format([申請日],"yyyymmdd") & [申請番号], 申請番号 ORDER BY Format([申請日],"yyyymmdd") & [申請番号]; ② 上記クエリに連番を振る SELECT 順番元, 申請番号, DCount("*","[クエリ①]","順番元<='" & [順番元] & "'") AS ほしい結果 FROM [クエリ①]; ③ 連番を振った結果をもとのテーブルに連結する SELECT [テーブル].*, ほしい結果 FROM [テーブル] INNER JOIN [クエリ②] ON [クエリ②].申請番号 = [テーブル].申請番号; ↑だとレコード編集できないので、 できるようにするには↓ ただしイイ感じに表示速度低下 SELECT [テーブル].*, DLookUp("ほしい結果","[クエリ②]","申請番号='" & [申請番号] & "'") AS ほしい結果 FROM [テーブル]; ※添付画像は③のDLookUp版  画像からもわかるように[ほしい結果]が『左詰め=文字列』なことに注意し、数値型へは適切な数値型変換関数(Val,Clngなど)をかぶせます。

画像

回答ありがとうございます! 教えて頂いた式はVBAですか?? すみません。。。初歩の初歩の質問で。。泣 VBAは未知の世界なもので。。。 しかもクエリ一発で結果が出るものでもなくて、段階を踏まなくてはいけないんですね。。。勉強になります! せっかく回答して頂いたのにいきなり躓いていますが。。。