
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
この回答へのお礼
お礼日時:2003/12/10 15:17
ありがとうございます。
教えていただいた方法をさっそく試してみましたが、あっという間に目的の事が出来ました。
年は考慮してやろうと思います。
本当にありがとうございました。
No.1
- 回答日時:
お求めの結果をテーブルの一つのフィールドの設定で出すのは無理だと思います。
画期的な方法は思いつかないのだけれど、以下参考になれば、と思います。
まず、乗り越える壁として日付が変わったという判定をどのように行うかという問題があります。
一般的には、直前の日付を調べて異なっていたら日付が変わったと見なすという方法が採られます。
日付のフィールドをカウントの日付と別に作って、規定値を「=Format(Now(),"yyyy/m/d")」とか「=Val(Format(now(),"ddmm"))」のように設定すると、後の処理が楽になります。
前者は日付形式で時刻を取ったもの、後者は連番フィールド用に数値化したものです。
その日付フィールドの値を、直前のレコードと比較します。
で、カウンタフィールドも別に設定して、日付が変わったら初期化するカウンタにします。
こちらはフォームのイベントで処理するしかないように思います。
詳しいことは省きます。
要点は、日付が変わったら初期化する。そうでなかったら直前の値に+1する。という処理を更新後処理に書き込むと言うことです。
別のアイディアとして、自動連番のフィールドから読みとるという方法があります。
この場合は、別のテーブルに日付が変わった最初の連番を登録しておきます。
日付と連番の先頭を登録するのです。
そのテーブルに登録されていない日付のときはそのレコードの連番を新規に登録します。
登録されていれば、その番号と連番の差+1が現在のカウンタ値になります。
これをお求めのフィールドに設定すればOKです。
が、これらの処理もフォームでのイベント処理にしなければなりません。
めんどくさいですな。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差し込み印刷で日付の曜日を表...
-
日付型のテキストボックスに数...
-
Word2010 フィールド内での和...
-
差し込み印刷に当日の日付が入...
-
「24日の0時」って・・・
-
エクセルのチェックボックスを...
-
VBAでエクセルシートを更新...
-
エクセルで数字から名前に変...
-
回覧板の日付について質問です...
-
日付の大小の表現
-
折り返して表示、縮小して表示...
-
ピボットテーブルの日付フィル...
-
excelで、セル内に文字が入力さ...
-
エクセルで最高値、最低値の日...
-
エクセルでのNULLという文字列...
-
Excelについて
-
「時間」、「期日」、「日付」...
-
エクセルで在庫表を作りたい
-
EXCELで日付を****年上期、****...
-
上付き文字を別セルにそのまま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付を差し込み印刷で表示した...
-
差し込み印刷で日付の曜日を表...
-
Wordで、ヘッダーに印刷日付を...
-
Word2010 フィールド内での和...
-
日付を昇順で並び替えし、空白...
-
クエリで日付型のIIF関数の使用
-
ACCESSの自動連番について
-
ウィンドウィズ メモ帳で日付だ...
-
【Word】 今日の「年」「月」...
-
重複を除外したカウント方法を...
-
Accessで秒を時間で表示させる...
-
ファイルメーカーの日付の検索
-
Accessでデータを「間引き」す...
-
Wordの日付変換ってできますか?
-
word2007で日付挿入したら翌日...
-
FileMaker Pro 10 で令和を表示
-
挿入した日付の自動更新を中止...
-
datetime型でのソート
-
ファイルメーカー 実在の日付...
-
ファイルメーカーで検索結果を...
おすすめ情報