アクセス2010で取引台帳テーブルに連結した入力フォームを作り、件名を入力すると契約NOを自動で採番するように
下記のコードにして使っていました。
しばらくはちゃんと採番されていたのですが、分類をする時に使う、
2個あった区分を3個に追加して、
コードも2個から3個に追加しました。それから変になった気がします。
契約NOの最大値+1だと前回作られたNOと重複するようになってしまい、
契約NO+2だと、最後の最大値の次のNOが作れます。
なぜ突然こうなったのかが分かりません。
VBのコードをきちんと学んだ事がなく、本でサンプルを見たりしながら作っています。
わかりやすく教えていただきたく、お願いいたします。
契約NOは R-KS1305-0055
Rが区分
KSがコード
1305が年月2013/05
0055が連番で採番しています。
Private Sub 物件名_AfterUpdate()
Me![契約NO] = Me![区分] & "-" & Me![コード] & Format(Me![入力日], "yymm") & "-" & Format(DCount("契約NO", "取引台帳") + 1, "0000")
No.1ベストアンサー
- 回答日時:
DCount で件数を取得して、それから連番を生成してますね。
途中のレコードが1件削除されてませんか。
そうすると連番が重なるようになります。
DMaxで最大値を取得するようにすればいいと思いますが、区分や年月などの余分な情報が付いているためそれを除いた最大値を取得する必要がありますね。
Me![契約NO] = Me![区分] & "-" & Me![コード] & Format(Me![入力日], "yymm") & "-" & Format(Val(DMax("Right([契約NO],4)", "取引台帳")) + 1, "0000")
この回答への補足
早速、ありがとうございます。
上の通りに修正したら、また連番ができました!
ちなみに、不要なデータは削除してはいけないのですか?
削除コマンドボタンで、削除できる様にしているのですが。
No.2
- 回答日時:
> ちなみに、不要なデータは削除してはいけないのですか?
最初の件数(DCount)で連番をつけると、削除した分だけ取得する連番が小さくなりますからダメですが、
私の提案した最大値(DMax)を取得する方法なら、削除しても大丈夫です。
コードのロジックをきちんと理解して使用するようにしましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Excel(エクセル) Excelの操作方法を教えてください!頭文字2~8文字で特定の値に返す方法 8 2022/07/14 11:26
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) アクセスのグループ化で、 No.が10番台のJPY合計 No.が20番台のJPY合計 No.が30番 1 2022/12/20 14:39
- Visual Basic(VBA) マクロで設定時刻の入力がわかりません 2 2022/03/29 02:24
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- その他(恋愛相談) あなたがYESでも、わたしがNOなら性暴力←ヤバイ男たちに効いている? 4 2023/04/18 20:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
ACCESSのSQLで、NULLかNULLでな...
-
警察はスマホに保存した動画や...
-
コンピュータ用語、データベー...
-
更新クエリをリンクデータベー...
-
accessでの請求管理について
-
データベースソフトのTCARDにつ...
-
データベースソフトの「TCARD f...
-
縦書きテキストボックスの表示"...
-
Accessのリンクテーブルについて
-
業務用のデータベースサーバー...
-
Accessを開きなおすとテキスト...
-
android版のMs accessはありま...
-
c言語の問題です。これを踏まえ...
-
「1004:アプリケーション定義...
-
Accessフォームからパラメータ...
-
QSL でのフォーム画面作成について
-
リスト形式の表とデータベース...
-
マクロの別シートのデータ振り...
-
Q&Aフォームを作成したいのです...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースファイル(.db)を開...
-
Accessを開きなおすとテキスト...
-
警察はスマホに保存した動画や...
-
ACCESSのSQLで、NULLかNULLでな...
-
エクセルのフィルタ抽出が固まる
-
CSVファイルでテキストの改行の...
-
構文エラー:演算子がありませ...
-
Accessフォームからパラメータ...
-
20万行あるデータを動かしたい
-
Accessのリンクテーブルについて
-
コンピュータ
-
最新の日付とその金額をクエリ...
-
データベースとウェブ(WWW)の共...
-
更新クエリをリンクデータベー...
-
「1004:アプリケーション定義...
-
リスト形式の表とデータベース...
-
android版のMs accessはありま...
-
Excelフィルタ抽出で「検索して...
-
縦書きテキストボックスの表示"...
-
Notion@リレーション値の取得...
おすすめ情報