accessで処理を行った日付を入力するテキストボックスがあります。
年月日を入力するとそのまま表示されるのですが、
例えば 04/01 と月日のみ入力すると自動的に今年の年をシステムが付け足して
2013/04/01と表示される仕様になっています。
年の部分をわざわざ手入力し、誤入力するリスクを減らしたいので、
年部分はこの仕様で表示させ、月日のみをユーザーが入力できるように
入力規則等で制限をかけたいのですがうまくいきません。
月日のみを入力するにはどう設定すればいいのでしょうか?
また、入力規則に >=#year(now())/01/01#and<=#year(now())/12/31# と入力して
今年以外の入力をはじくよう設定してみたのですがこれもうまくいきませんでした。
この設定がなぜうまくいかないかも併せて教えていただけたら嬉しいです。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
フォームのテキストボックス名が、日付 だとして
VBAではその更新前処理に、
Private Sub 日付_BeforeUpdate(Cancel As Integer)
Dim x As Variant
x = Split(Me!日付.Text, "/")
If UBound(x) > 1 Then
MsgBox "年は入力できません。"
Cancel = True
End If
End Sub
とすれば、『年』の入力ははじけますが、Access2010?以後では
新しく採用された日付選択カレンダーからの入力もはじいてしまいます。
なので入力規制で下記のように設定すれば、
ユーザーは無駄で面倒な『年』の入力は行わなくなると思います。
>=#year(now())/01/01#and<=#year(now())/12/31# がいけないのは
##で囲むリテラル値の中に関数を混ぜ込んでしまっている。
区切りのスペースがない。の二点です。
>=CDate(Year(Now()) & "/01/01") And <=CDate(Year(Now()) & "/12/31")
のようにするか
Year([日付])=Year(Date())
などとして
その下のエラーメッセージ欄に、
入力できるのは今年の日付だけです。『年』の入力は不要です。
としておけば良さそうに思えます。
※Accessのバージョンによって話が変わってくる場合がありますので次回からは
Accessの(OSも)バージョンを明記しましょう。
お礼が遅くなり申し訳ありません。
今日教えていただいた方法で試したところ上手くいきました。
有難うございました。
自分で入力した入力規則が上手くいかない理由も
ネットや本で調べてもわからなかったので非常に勉強になりました。
質問する際のaccessバージョンの表記も覚えておきたいと思います。
有難うございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) accessの日付フィールドから前年度だけを取り出したい 3 2022/04/13 23:13
- Visual Basic(VBA) マクロで設定時刻の入力がわかりません 2 2022/03/29 02:24
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) エクセルで日付に続けて連番を表示したい 6 2022/05/25 23:33
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
日付型のテキストボックスに数値を入れて日付にしたい
Access(アクセス)
-
access日付チェックの方法
その他(データベース)
-
-
4
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
5
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
6
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
7
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
8
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
9
Accessで、定型入力を使って年と月のデータだけ入力したい
Access(アクセス)
-
10
Accessフォームで詳細内の任意の行へSetFocus
Excel(エクセル)
-
11
Accessでエクセル出力の保存先指定
その他(データベース)
-
12
アクセスでエラー このフィールドに入力した値が正しくありません
その他(データベース)
-
13
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
14
mdbファイル フォームを開くと強制終了されます。
Access(アクセス)
-
15
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
16
Access 複数条件検索の設定が上手く行きません
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで日報を自動で作成したい...
-
エクセルVB ポップアップウィ...
-
ドロップダウンリスト 自動表...
-
マクロ 入力規則は残し文字の...
-
excelで第二金曜日を…
-
エクセル 日付超過でポップアッ...
-
ドロップダウンリストを2列で...
-
小数点以下の入力規則
-
特殊漢字「はし」(橋のつくり...
-
エクセルで半角カナや特殊文字...
-
VBAの日付チェックでオーバーフ...
-
autocad 数値が表示されなくな...
-
求人情報で「SAP入力可能な方」...
-
excelのInputBoxで日本語入力OF...
-
Excelで在庫管理表の入出庫入力...
-
Excelについて
-
Good Reader が繋がらない!
-
エクセルVBAのエディターが上書...
-
囲い文字の単語登録
-
PCのキーボドで「ヲ」と言う...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ドロップダウンリスト 自動表...
-
VBAの日付チェックでオーバーフ...
-
autocad 数値が表示されなくな...
-
ドロップダウンリストを2列で...
-
Excelについて
-
マクロ 入力規則は残し文字の...
-
Excelで日報を自動で作成したい...
-
エクセルVB ポップアップウィ...
-
excelのInputBoxで日本語入力OF...
-
バーコードリーダーを使ってフ...
-
特殊漢字「はし」(橋のつくり...
-
エクセル 日付超過でポップアッ...
-
小数点以下の入力規則
-
弥生会計05、「摘要」入力について
-
excelで第二金曜日を…
-
ACCESSで日付型のフィールドにY...
-
求人情報で「SAP入力可能な方」...
-
メアド入力不要な日程調整ツー...
-
エクセルの入力規則のプルダウ...
-
バッククォートの入力方法
おすすめ情報