No.2ベストアンサー
- 回答日時:
入力フォームのデザインで、メニューら[表示]-->[プロパティ]で「レコード移動時」欄を
クリックし、右端の ... をクリックして、「コードビルダ」で開いたウィンドウに下記
コードを貼り付けます。
レコードソースになっているテーブル名を「自動採番月日TBL」とし、自動採番する
フィールドは、数値型で名前を「ID」とした場合です。
これで、ご希望通りの動作になると思いますが、年が入っていないのが気になります。
このままでは、1年以上使っていると、昨年の番号の連番を取得します。
年を考慮することをお勧めします。
Private Sub Form_Current()
If Me.NewRecord = False Then Exit Sub
Dim AutoID As String
Dim MaxID As Variant
AutoID = Format(Date, "mmdd")
MaxID = DMax("ID", "自動採番月日TBL", "Left(ID,4)=" & AutoID)
If IsNull(MaxID) Then
Me.ID.DefaultValue = AutoID & "001"
Else
Me.ID.DefaultValue = AutoID & Format(Right(MaxID, 3) + 1, "000")
End If
End Sub
ありがとうございます。
教えていただいた方法をさっそく試してみましたが、あっという間に目的の事が出来ました。
年は考慮してやろうと思います。
本当にありがとうございました。
No.1
- 回答日時:
お求めの結果をテーブルの一つのフィールドの設定で出すのは無理だと思います。
画期的な方法は思いつかないのだけれど、以下参考になれば、と思います。
まず、乗り越える壁として日付が変わったという判定をどのように行うかという問題があります。
一般的には、直前の日付を調べて異なっていたら日付が変わったと見なすという方法が採られます。
日付のフィールドをカウントの日付と別に作って、規定値を「=Format(Now(),"yyyy/m/d")」とか「=Val(Format(now(),"ddmm"))」のように設定すると、後の処理が楽になります。
前者は日付形式で時刻を取ったもの、後者は連番フィールド用に数値化したものです。
その日付フィールドの値を、直前のレコードと比較します。
で、カウンタフィールドも別に設定して、日付が変わったら初期化するカウンタにします。
こちらはフォームのイベントで処理するしかないように思います。
詳しいことは省きます。
要点は、日付が変わったら初期化する。そうでなかったら直前の値に+1する。という処理を更新後処理に書き込むと言うことです。
別のアイディアとして、自動連番のフィールドから読みとるという方法があります。
この場合は、別のテーブルに日付が変わった最初の連番を登録しておきます。
日付と連番の先頭を登録するのです。
そのテーブルに登録されていない日付のときはそのレコードの連番を新規に登録します。
登録されていれば、その番号と連番の差+1が現在のカウンタ値になります。
これをお求めのフィールドに設定すればOKです。
が、これらの処理もフォームでのイベント処理にしなければなりません。
めんどくさいですな。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 派遣社員・契約社員 休みの日にメール寄越すな 4 2023/04/29 14:17
- その他(交通機関・地図) 圏央道を使って那珂ICまで 4 2023/05/07 20:25
- 政治 立民は振られた女性に金を返せなんてみっともないですよね? 3 2023/01/18 11:42
- CAD・DTP JWW-CADでDXF変換後の線が連動して消える 2 2023/01/13 11:09
- アルバイト・パート バイト シフト 5 2023/07/05 16:32
- 戦争・テロ・デモ そもそもテロは悪いことなのか? 19 2022/08/08 18:05
- その他(ネットショッピング・通販・ECサイト) カメラ付きグラスの動作不良 先日メルカリでほぼ新品のカメラ付きグラス(中国製)を買ったのですが、取扱 2 2023/07/02 19:21
- 片思い・告白 皆さんだったら連絡先を聞きますか? 5 2022/06/23 14:44
- メルカリ メルカリでのお取引について 先週19日にあるゲームのグッズをメルカリで購入しました、出品者さんは名前 2 2022/06/29 18:16
- 自動車ローン・自動車保険・車両保険 ネット自動車保険 2 2023/03/11 16:27
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ACCESSで日付ごとに自動連番(日付+連番)する方法
Access(アクセス)
-
access 自動採番 年が変わるごとに0001に戻る仕組み。
その他(データベース)
-
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
-
4
Accessで日付が変わると番号がリセットされる自動採番がしたい
Access(アクセス)
-
5
ACCESS 一番最新の日付の金額を出したいのですが・・
その他(データベース)
-
6
ACCESSでオートナンバーを任意の書式で付けたい
Access(アクセス)
-
7
最新日のデータのみ抽出するクエリを教えて下さい
Access(アクセス)
-
8
accessでオートナンバーを使わずに「文字+数字」の自動採番する方法
Access(アクセス)
-
9
アクセスのボタンから指定のワードファイルを開く
Access(アクセス)
-
10
日付の最大値を求めるには
その他(データベース)
-
11
Accessで、固定アルファベット+オートナンバーを表示する
Excel(エクセル)
-
12
アクセスVBAのMe!と[ ]
Access(アクセス)
-
13
Accessでレコードの保存をせずにフォームを閉じたい
Access(アクセス)
-
14
Access 文字+年ごとの自動採番
その他(データベース)
-
15
access 自動採番 「10-AA-0001」にするには。
その他(データベース)
-
16
ループで呼び出しながら、追加クエリでテーブルに追加
Visual Basic(VBA)
-
17
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessで残業時間計算
-
重複を除外したカウント方法を...
-
Accessで秒を時間で表示させる...
-
「24日の0時」って・・・
-
パソコンで購入したデーターが...
-
VBAでエクセルシートを更新...
-
回覧板の日付について質問です...
-
エクセルで日付別にシートを分...
-
「時間」、「期日」、「日付」...
-
UWSCで全角(ひらがな、カタカ...
-
下の画像はアンドロイドタブレ...
-
ストリートビューの過去ってど...
-
エクセルで漢字を数字に変換す...
-
Excel VBAでオートフィルタ後...
-
excelで、セル内に文字が入力さ...
-
コンピューターで2進法が採用...
-
日付の大小の表現
-
Excelでテキストボックスやオー...
-
エクセルのチェックボックスを...
-
ウィンドウ枠の固定ができない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付を差し込み印刷で表示した...
-
日付を昇順で並び替えし、空白...
-
差し込み印刷で日付の曜日を表...
-
Word2010 フィールド内での和...
-
クエリで日付型のIIF関数の使用
-
Wordで、ヘッダーに印刷日付を...
-
日付型のテキストボックスに数...
-
Accessで秒を時間で表示させる...
-
ファイルメーカーの日付の検索
-
Wordの日付変換ってできますか?
-
【Word】 今日の「年」「月」...
-
accessで残業時間計算
-
日付がインポートされない
-
メインサブフォームでメインの...
-
【Tableau Desktop】文字列から...
-
アクセス:エクセルからのイン...
-
ACCESSの自動連番について
-
重複を除外したカウント方法を...
-
Accessで日付から曜日を自動で...
-
挿入した日付の自動更新を中止...
おすすめ情報