ここから本文です

windows10 access2013 はじめまして。早速ですが、accessのフォーム内で自動的にI...

bak********さん

2019/9/1716:17:06

windows10 access2013
はじめまして。早速ですが、accessのフォーム内で自動的にIDを取るためにテーブル内のIDの最大値を取得するようにしています。

現在、1230まで来ています。

=Nz(DMax("ID","マスター名")+1,1)

ここで質問なのですが、このIDの8000番を登録してあり、8000以上の番号は無視して最大値(1231)を取得する方法はありませんか?
8000以上のIDにも登録をしたいのですが、普段使用しないため8000番に逃がしておきたいのです。

説明がうまくできていませんがご教授いただけたらと思います。よろしくお願いします。

閲覧数:
28
回答数:
2

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

nao********さん

2019/9/1717:06:25

8000以上のIDを抽出しないクエリを作成して、
それをもとに採番すればどうでしょう?

新規クエリを作成し、
T_マスター名から
「ID」 フィールドのみ選択
抽出条件に「<8000 」を入力して保存。

SELECT [マスター名].ID
FROM マスター名
WHERE ((([マスター名].ID)<8000));

=Nz(DMax("ID","クエリ名")+1,1)

8000以上の採番が必要な場合は、従来通りの
=Nz(DMax("ID","マスター名")+1,1) で
採番可能ですが、ロジックを分ける必要があります。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

m3_maki0さん

2019/9/1718:20:29

=Nz(DMax("ID","マスター名")+1,1)

=Nz(DMax("ID","マスター名","ID<8000")+1,1)

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる