![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.4ベストアンサー
- 回答日時:
またまたごめんなさい。
最後の行を変更した事により対応状況に入力漏れがあった場合の判定が必要です。
全行再掲しますね。
------------------------------------------------------
Dim strメッセージ As String
Dim byt判定 As Byte
'初期値設定
strメッセージ = ""
byt判定 = 0
If IsNull(Me![txt営業対応日]) = True Then
strメッセージ = "営業対応日"
byt判定 = 1
End If
If IsNull(Me![txt担当者名]) = True Then
strメッセージ = strメッセージ & IIf(byt判定 = 1, "及び担当者名", "担当者名")
byt判定 = 1
End If
If IsNull(Me![txt対応状況]) = True Then
strメッセージ = strメッセージ & IIf(byt判定 = 1, "及び対応状況", "対応状況")
byt判定 = 1 '←修正箇所
End If
If byt判定 = 1 Then
MsgBox (strメッセージ & "を入力してください。")
Else
MsgBox ("OK!") 'OKだった時メッセージを出す場合のみ
End If
ruru0707さん。
miffy123です。先日の件ではお世話になり、有難うございました。
実は要求事項が1件増えまして、フォーム上で新しく”失注理由”(コンボボックスにより選択)という項目が増えまして、以下のような処理をする場合どのようにプロシージャを記述して良いものか困っています。
対応状況(失注)、失注理由(未投入)
→”失注理由を入力してください”(警告メッセージ)
先日、教えていただいたプロシージャに該当の記述の仕方が分からないのですが、教えていただけないでしょうか?
No.3
- 回答日時:
すみません。
入力漏れがなかった時の記述が漏れてました。最後の1行を下記のように変更して下さい。
if byt判定=1 then
MsgBox (strメッセージ & "を入力してください。")
else
MsgBox ("OK!") 'OKだった時メッセージを出す場合のみ
end if
ruru07さん。
お返事送れて申し訳ありません。
最後の1行を変更したら、うまく表示できました。
本当に助かりました。感謝感謝です!
No.2
- 回答日時:
フォーム上のテキストボックスの名称をその他タブで定義しておきます。
仮に
[営業対応日]=txt営業対応日
[担当者名]=txt担当者名
[対応状況]=txt対応状況
とします。
-------------------------------------------------------------
If IsNull(Me![txt営業対応日]) = True Then
MsgBox ("営業対応日を入力して下さい。")
Me![txt営業対応日].SetFocus '入力すべき場所へカーソルを移動
End If
If IsNull(Me![txt担当者名]) = True Then
MsgBox ("担当者名を入力して下さい。 ")
Me![txt担当者名].SetFocus '入力すべき場所へカーソルを移動
End If
If IsNull(Me![txt対応状況]) = True Then
MsgBox ("対応状況を入力して下さい。")
Me![txt対応状況].SetFocus '入力すべき場所へカーソルを移動
End If
------------------------------------------------------------
でも良いと思うのですが、上記の場合メッセージは未入力の数だけ表示されます。
お尋ねのように1回でまとめるなら、変数が必要ですのでもう少し複雑になりますが、
-----------------------------------------------------------
Dim strメッセージ As String
Dim byt判定 As Byte
'初期値設定
strメッセージ = ""
byt判定 = 0
If IsNull(Me![txt営業対応日]) = True Then
strメッセージ = "営業対応日"
byt判定 = 1
End If
If IsNull(Me![txt担当者名]) = True Then
strメッセージ = strメッセージ & IIf(byt判定 = 1, "及び担当者名", "担当者名")
byt判定 = 1
End If
If IsNull(Me![txt対応状況]) = True Then
strメッセージ = strメッセージ & IIf(byt判定 = 1, "及び対応状況", "対応状況")
End If
MsgBox (strメッセージ & "を入力してください。")
-----------------------------------------------------------
で出来ると思います。
ruru0707さん。
miffy123です。
早速、御教授いただいて有難うございます。
フォーム上に判定ボタンを作って、プロシージャ(下の複雑なほう)を書いてみたら、営業対応日が入力されていて、その他の担当者名と対応状況が未入力のレコードはボタンを押してチェックをかけたら、”担当者名及び対応状況を入力してください”とメッセージが出ました。
担当者名と対応状況を入力後、再度判定ボタンを押すと、”を入力してください"というメッセージが残ってしまうのですが、どうしてでしょう?最後の1行を消したら、ボタンを押しても何もメッセージが表示されませんし・・・
回避するにはどうしたらいいでしょうか?
No.1
- 回答日時:
一番確実かつ簡単な方法はテーブルのデザインビューでそのフィールドの
[値要求]を[はい]にすることです
ただしこの場合表示されるメッセージは規定のものになります
自前の仕様、自前のメッセージを表示させたいときには
そのようなチェックをするコードを書くことになりますね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) アクセス フォームの自動入力 1 2023/03/20 00:18
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(ブラウザ) Mycrosoft Edge フォームの履歴を完全に削除したい 3 2022/08/11 09:59
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access(office)のマクロの「値...
-
passwordが入れられません・・・・
-
Accessで西暦の年だけ表示したい
-
ファイルメーカー 一ヵ月後の...
-
ユーザーフォームで数字にカン...
-
フォームで入力しても反映されない
-
アクセスで数値型のフィールド...
-
データベースのINT型項目にNULL...
-
Accessで所要時間の足し算
-
フォーム上の入力チェックをし...
-
テキストボックスに入っている...
-
OUTLOOK予定表の表示項目追加は...
-
非連結のtxtBoxのデータをcmdボ...
-
Excelで入力したデータを自動的...
-
Access レポート印刷するときに...
-
YahooのIDがロックされてしまい...
-
iphoneのフルスクリーンの解除方法
-
Accessのフォームにて、詳細行...
-
Access レコード移動時イベント...
-
エクセルをACCESSのレポ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースのINT型項目にNULL...
-
passwordが入れられません・・・・
-
アクセスで数値型のフィールド...
-
フォームで入力しても反映されない
-
Excelで入力したデータを自動的...
-
Access(office)のマクロの「値...
-
アクセスのテキストボックスの...
-
ユーザーフォームで数字にカン...
-
このオブジェクトに値を代入す...
-
入力規則違反-任意のエラーメ...
-
Accessで西暦の年だけ表示したい
-
Accessで小数の入力について
-
アクセス コンボボックスのリ...
-
ACCESS 時間の入力方法
-
Access2007 textboxに入力でき...
-
Access2007、フォームのテキス...
-
ファイルメーカー 一ヵ月後の...
-
日付のテキストボックスに(例...
-
sqlldrの使用方法について
-
Accessで主キーの最終番号を取...
おすすめ情報