Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


242 / 9994 ←次へ | 前へ→

【13066】Re:日付+自動採番
回答  亀マスター  - 16/9/12(月) 22:31 -

引用なし
パスワード
   連番の取得までは問題ないと思います。

後はこれをデータに反映させる方法ですが、既に提出月のテキストボックスがフォーム中にあると思いますので(なければテーブルの提出月と連結したテキストボックスを作成してください)、提案日_AfterUpdateのイベントで、取得した連番等をテキストボックスに入力してやればいいのです。

具体的には、
提出月 = Format(提案日, "yymm") & Format(連番 +1 , "000")
としてやればいいでしょう。
※連番 + 1 としているのは、そのままだと連番が000からスタートするためです。連番取得の段階で事前に +1しておけば不要です。


とりあえずはこれで表示されると思いますが、実務を考えるといろいろ問題が出てくるかと思います。

まず、提出月のテキストボックスをそのままにしておくと、ここを直接編集されてしまいます。そこで、提出月のテキストボックスでプロパティ設定を編集し、「使用可能」を「いいえ」に、「編集ロック」を「はい」にしておくことで対応します。

また、入力済みの提案日を編集すると、その時点で提出月が再計算され、番号が狂ってしまいます。これを防ぐには、連番を計算・表示させる前に、更新前の日付を調べ、更新前が空白・同じ月・異なる月などの場合分けで対応する必要があるでしょう。

他に、たとえば8月1日、8月10日、8月5日という順で入力した場合、連番はこの順番になります。それで構わないのならいいのですが、日付順にしたいという場合は上記で述べた方法は使えないので、クエリの編集で少々ややこしいSQLを書く必要が出ると思います。
294 hits

【13063】日付+自動採番 NUTKEY 16/9/8(木) 12:32 質問[未読]
【13064】Re:日付+自動採番 亀マスター 16/9/11(日) 2:02 回答[未読]
【13065】Re:日付+自動採番 NUTKEY 16/9/12(月) 9:28 質問[未読]
【13066】Re:日付+自動採番 亀マスター 16/9/12(月) 22:31 回答[未読]
【13067】Re:日付+自動採番 NUTKEY 16/9/16(金) 15:12 質問[未読]
【13068】Re:日付+自動採番 亀マスター 16/9/17(土) 18:08 回答[未読]
【13069】日付+自動採番 NUTKEY 16/9/19(月) 14:03 お礼[未読]

242 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078188
(SS)C-BOARD v3.8 is Free