OS:Win10
Access2016
access初心者です。
帳票フォームにて入力チェックを設定したいのですが、
主キーに設定している項目を未入力の状態で登録しようとすると、
自分で設定した未入力チェックより先にAccessのエラーメッセージが出てしまいます。
*「’[フィールド名]’フィールドに値を入力してください」というメッセージが出ます。
*自身で設定した入力チェックは、登録ボタン押下後の処理で設定しています。
自分で設定した未入力チェックが優先で働くようにする方法はあるのでしょうか。
詳しい方いらっしゃいましたら、ご教示のほどよろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ダメでしたか。
メッセージの内容としてはレコードの保存をしようとしたときに主キーに設定した項目で
キー違反が発生しているのでメッセージが表示されるのでそれより前のイベントであれば
入力チェックができると思うのですが。
回避方法としてとりあえず主キーの設定をやめて入力チェックを徹底することですかね。
No.1
- 回答日時:
イベントが発生する順番があるのでその影響だと思います。
https://support.office.com/ja-jp/article/%E3%83% …
フォームの更新前処理のイベントで主キーに設定した項目は入力チェックしてはどうですか?
Private Sub Form_BeforeUpdate(Cancel As Integer)
If IsNull(主キーの項目) = True Then
MsgBox ("nullですよ")
Cancel = True
End If
End Sub
y504さん
ご回答ありがとうございます。
イベントの発生は順番が決まっているのですね。
勉強になりました。ありがとうございます。
ただ、教えて頂いた通り、フォーム更新前処理に入力チェックを入れてみても、
やはりAccessのメッセージが先に来てしまいました。
(質問のときに書き忘れていたのですが、accessのメッセージはフォームを更新した直後に表示されます)
教えて頂いたURLのページによると、フォーム更新前処理の前にキークリック処理もあるようなので、
下記のように書いてみたのですが、それでもaccessのチェックが優先されるようでした。
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If IsNull(主キーの項目) = True Then
MsgBox ("nullですよ")
Cancel = True
End If
End Sub
主キーの場合は、自分でチェックをすることができないのでしょうか……?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- その他(プログラミング・Web制作) Accessの代わりのノンプログラムデータベース作成 4 2022/10/21 09:26
- その他(Microsoft Office) こんにちは。Windows10でaccess(拡張子accdb)を右クリックし、プロパティ→全般タブ 1 2023/02/03 19:14
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
Access サブフォームでの選択行の取得
その他(データベース)
-
新規レコード行を非表示にしたい
Access(アクセス)
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
-
4
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
5
ACCESSフォーム入力後の確定
Access(アクセス)
-
6
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
7
ACCESSのBookmarkプロパティの使い方
その他(データベース)
-
8
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
9
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
10
AccessVBAで実行時間を指定するには
Visual Basic(VBA)
-
11
VBA プロシージャの名前の取得
その他(Microsoft Office)
-
12
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
13
サブフォームの新規レコードに移動したい アクセス
Access(アクセス)
-
14
accessでレコード更新直後の反映について
その他(データベース)
-
15
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
16
Accessレポートのチェックボックスを大きくする方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
passwordが入れられません・・・・
-
データベースのINT型項目にNULL...
-
アクセスで数値型のフィールド...
-
日付のテキストボックスに(例...
-
sqlldrの使用方法について
-
エクセル 自動入力
-
Access(office)のマクロの「値...
-
フォームで入力しても反映されない
-
Access2007、フォームのテキス...
-
Accessで小数の入力について
-
ACCESS2000にて「うるう年」の...
-
EXCELのユーザーフォームで入力...
-
入力規則違反-任意のエラーメ...
-
Excelで入力したデータを自動的...
-
アクセスのテキストボックスの...
-
Accessフォームのコントロール...
-
access日付チェックの方法
-
Accessのパラメータクエリに入...
-
カレンダーコントロールで複数...
-
Access2000 顧客マスターを作っ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
passwordが入れられません・・・・
-
データベースのINT型項目にNULL...
-
アクセスで数値型のフィールド...
-
フォームで入力しても反映されない
-
Access(office)のマクロの「値...
-
Excelで入力したデータを自動的...
-
日付のテキストボックスに(例...
-
Access2007 textboxに入力でき...
-
このオブジェクトに値を代入す...
-
アクセスのテキストボックスの...
-
ファイルメーカー 一ヵ月後の...
-
ユーザーフォームで数字にカン...
-
sqlldrの使用方法について
-
ACCESS 時間の入力方法
-
入力規則違反-任意のエラーメ...
-
Access2007、フォームのテキス...
-
Accessで主キーの最終番号を取...
-
ファイルメーカで経過月数を出...
-
Accessで所要時間の足し算
-
Accessのパラメータクエリに入...
おすすめ情報