Access2013を使っています。
IDはテキスト型で、 A00000000 っていう書式なんですが、
新規レコード作成時のイベントで、ID自動採番(連番をふる)をしたいのですが、下記だと最初の1レコード(A00000001)以降がエラーになってしまいます。
Format(Nz(DMax("ID", "T_テーブル名"), 0) + 1, "\A00000000" )
もちろん、すでにあるIDがA00000001なので、DMaxが使えないんですが、どうやって分けてやったら良いのかわかりません。
やりたい結果は、新規レコード作成時に、IDが"A"&"8ケタの最大値+1"が自動に振られて、テーブルのIDフィールドにA00000001、A00000002・・・とデータ保持したいのです。
説明が判り辛くて恐縮ですが、ご教示お願いします。
No.1ベストアンサー
- 回答日時:
最初につく"A"が固定なら、
ID フィールドのデータ型は数値型にして、
書式プロパティを
\A00000000
とするのがお勧めです。
式は下記のようにシンプルになりますし、処理も高速になります。
また、桁数が変更になっても書式プロパティの変更だけですみます。
Nz(DMax("ID", "T_テーブル名"), 0) + 1
現状のテキスト型から変更できない事情があるのなら、
Format(Nz(Mid(DMax("ID", "T_テーブル名"),2), 0) + 1, "\A00000000")
ご指摘の通り試したら、VBA構文エラーもなく、またテーブルにも"A00000000"のデータで保持されていると確認できました!
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- その他(データベース) accessについて 2 2022/05/31 16:58
- Access(アクセス) ACSESS初心者です マンション管理をACCESSで出来ないかとチャレンジしています。 リレーショ 3 2022/10/08 11:45
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
accessでの文字列の混ざった連番処理について
Access(アクセス)
-
Accessで、固定アルファベット+オートナンバーを表示する
Excel(エクセル)
-
accessでオートナンバーを使わずに「文字+数字」の自動採番する方法
Access(アクセス)
-
-
4
access 自動採番 「10-AA-0001」にするには。
その他(データベース)
-
5
ACCESSでオートナンバーを任意の書式で付けたい
Access(アクセス)
-
6
ACCESSで日付ごとに自動連番(日付+連番)する方法
Access(アクセス)
-
7
サブフォームの新規レコードに移動したい アクセス
Access(アクセス)
-
8
サブフォームに新規レコードを追加する際、一番下に表示するのではなく一番上に表示したい
Visual Basic(VBA)
-
9
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
10
Accessのフォームのみ表示させたい
Access(アクセス)
-
11
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
12
主キーはオートナンバー型のIDを使った方が良いのか
Access(アクセス)
-
13
Access 文字+年ごとの自動採番
その他(データベース)
-
14
クエリで複数項目を昇順後、連番を付ける方法
Access(アクセス)
-
15
Accessのオートナンバー型をレプリケーションIDにする意味は?
Access(アクセス)
-
16
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
17
計算結果が0なら空白にしたい。ただし・・・
Access(アクセス)
-
18
アクセスVBAのMe!と[ ]
Access(アクセス)
-
19
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
20
変数にnullを代入するには
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで、フォームに情報を入...
-
レコード件数が0件なら印刷を...
-
フォーム内のデータをすべて更...
-
ACCESS2000 更新クエリで文字...
-
Accessのテーブルを開いたとき...
-
Access 「主キーにはnull値を...
-
日付型のフィールドに空白を入...
-
ACCESSの時間帯の抽出について
-
差込印刷での全角表示について...
-
テキストボックスにクエリ結果...
-
「年」と「月」だけの日付の表...
-
更新クエリをリンクデータベー...
-
Accessのテーブルのフィールド...
-
エクセルデータをワードで差し...
-
Accessフィールド分割
-
アクセス:クエリの結合とリレ...
-
Accessで、テーブルに入力した...
-
エクセルにおける「フィールド...
-
Accessのデータ型の日付/時刻型...
-
クロス集計クエリの結果をテー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSでテーブルにあるチェッ...
-
Accessの最大レコード数
-
クエリの結果が文字化け(Access...
-
Access 「主キーにはnull値を...
-
Accessで、フォームに情報を入...
-
ACCESS2010 フィルタ後のエク...
-
ACCESSでのひとつ前レコードの...
-
ACCESSでの関数について
-
Accessのテーブルを開いたとき...
-
Accessでレポート内の繰り返し...
-
フォーム内のデータをすべて更...
-
アクセスでの追加クエリでのエ...
-
ACCESS2000 更新クエリで文字...
-
レコード件数が0件なら印刷を...
-
Accessのオートナンバーについて
-
アクセス レポートの行数を固...
-
mdbの破損「データベース形式・...
-
文字を含むIDの自動採番
-
Accessの保存のタイミングについて
-
Access:リンクテーブルでの参...
おすすめ情報