OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

必ず入力する項目を作りたいのですが。

  • すぐに回答を!
  • 質問No.244999
  • 閲覧数63
  • ありがとう数1
  • 気になる数0
  • 回答数6
  • コメント数0

お礼率 33% (5/15)

ACCESSを使っています。
フォームで、[日付]の欄を必ず入力するようにしたいのです。
空欄のときには自分で作ったエラーメッセージを出したいのです。

決められたエラーメッセージは出るのですが…。
よい方法があったらお願いします。
通報する
  • 回答数6
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.6

検証で手間取っていて遅くなりました。申し訳有りません。
 IF文の1行目を下記に変えてください。

 If IsNull([日付])Then

以上で動作いたしました。
                tihit
お礼コメント
ichiro-ichiro

お礼率 33% (5/15)

何度もありがとうございました。ちゃんとできました。
これからも勉強していきたいと思っています。
本当に助かりました。
投稿日時 - 2002-04-11 12:01:02
-PR-
-PR-

その他の回答 (全5件)

  • 回答No.1
レベル14

ベストアンサー率 39% (813/2055)

テーブルかフォームのプロパティで指定します フォームで説明します。 項目を右クリック→プロパティ→データ→エラーメッセージ 参考になれば幸いです http://www.accessclub.jp/ http://www.mahoutsukaino.com/ 参考になりそうなのを見繕いました ...続きを読む
テーブルかフォームのプロパティで指定します
フォームで説明します。
項目を右クリック→プロパティ→データ→エラーメッセージ
参考になれば幸いです
http://www.accessclub.jp/
http://www.mahoutsukaino.com/
参考になりそうなのを見繕いました
補足コメント
ichiro-ichiro

お礼率 33% (5/15)

 ありがとうございます。ですが、その方法ですと
空欄でもOKになりますよね。テーブルの値要求だと
決まったエラーメッセージがでますし…。

必ず入力&自作エラーメッセージはできませんでしょうか。
投稿日時 - 2002-04-01 18:50:29

  • 回答No.2

入力完了し、次へ進む(ボタン操作などの)前のイベントプロシージャへ、 If [日付] = "" then Msgbox "日付を空白にすることはできません",0,"日付入力エラー" [日付].Setfocus End if と、書き込むと日付入力が済むまでメッセージがくりかえされて進めなくなり、日付欄にフォーカスが設定されま ...続きを読む
入力完了し、次へ進む(ボタン操作などの)前のイベントプロシージャへ、

If [日付] = "" then
Msgbox "日付を空白にすることはできません",0,"日付入力エラー"
[日付].Setfocus
End if

と、書き込むと日付入力が済むまでメッセージがくりかえされて進めなくなり、日付欄にフォーカスが設定されます。
補足コメント
ichiro-ichiro

お礼率 33% (5/15)

 ありがとうございます。まさに待ち望んでいた答えなのですが、
うまく使用することができません。詳しい使い方を教えていただけると
助かるのですが。イベントプロシージャがよくわからないのです。
初心者で申し訳ありません。よろしくお願いします。
投稿日時 - 2002-04-02 17:48:42
  • 回答No.3

 ichiro-ichiroさんがどんな使用をされているかが不明のため的確な回答が出来ません。  回答は、次の画面を想定したものに対するプロシージャです。 フォームは単票形式の入力用画面があり、ボタンコントロールが、「次の入力」,「閉じる」などを使っているとした場合に、そのボタンのイベントプロシージャが有るわけです。  例えば、「閉じる」ボタンがあり、プロシージャ内容が次のような場合、 Pri ...続きを読む
 ichiro-ichiroさんがどんな使用をされているかが不明のため的確な回答が出来ません。
 回答は、次の画面を想定したものに対するプロシージャです。
フォームは単票形式の入力用画面があり、ボタンコントロールが、「次の入力」,「閉じる」などを使っているとした場合に、そのボタンのイベントプロシージャが有るわけです。
 例えば、「閉じる」ボタンがあり、プロシージャ内容が次のような場合、

Private Sub 閉じる_Click()
DoCmd.Close
End Sub

となります。これを

Private Sub 閉じる_Click()
   If [日付] = "" then
Msgbox "日付を空白にすることはできません",0,"日付入力エラー"
[日付].Setfocus
   End if
DoCmd.Close
End Sub

のようにIf文を入れると、日付入力がされるまで次へ進めなくなり、閉じることも出来ません。
ボタンが複数有る場合も,If文を入れる行は同じです。
補足コメント
ichiro-ichiro

お礼率 33% (5/15)

 早速のアドバイスありがとうございます。私がしたいことは
おおまかその通りであり、理想は最初の日付の欄を入力しないまま
次の欄に移動しようとしたときにメッセージを出したいのです。

 これは先ほどのアドバイスの応用でできそうだと思っていたところ、
tihitさんのいう「閉じる」もできませんでした。ボタンのプロパティの
クリック時にコピーしたのですがやり方がおかしいのでしょうか。
たびたび申し訳ありませんがまたよろしくお願いします。
投稿日時 - 2002-04-02 20:43:37
  • 回答No.4

 例の「閉じる」ボタンを作られて、実行時にエラー、または動いてくれない場合、ボタンのプロパティでボタン名が"閉じる"になっていますか?プロシージャ内容とボタンの名前が一致していなければ動いてくれません。それとIf文には区切りにピリオドはいりません。MSGBOXの””やカンマは半角で入れていますか?  メニューからデバッグをクリックするとエラーの行が示されますので、それを返してください ...続きを読む
 例の「閉じる」ボタンを作られて、実行時にエラー、または動いてくれない場合、ボタンのプロパティでボタン名が"閉じる"になっていますか?プロシージャ内容とボタンの名前が一致していなければ動いてくれません。それとIf文には区切りにピリオドはいりません。MSGBOXの””やカンマは半角で入れていますか?
 メニューからデバッグをクリックするとエラーの行が示されますので、それを返してください。
補足コメント
ichiro-ichiro

お礼率 33% (5/15)

 たびたび本当にすいません。
まず、実行させると素直に閉じてしまいます。
内容はtihitさんのものをコピーして使っていますし、
自分で入力しても変わりませんでした。
名前も確認しました。デバッグの方法もよくわかりませんでした。

 最初のプロシージャ入力から間違っているのでしょうか。
その他の問題があるのでしょうか。
投稿日時 - 2002-04-02 23:03:39
  • 回答No.5

 おはようございます。ichiro-ichiroさんにお答えしたものは、検証はしていませんので、きょう、一度検証し、今夜にでも再回答いたしますので、しばらくおまちください。
 おはようございます。ichiro-ichiroさんにお答えしたものは、検証はしていませんので、きょう、一度検証し、今夜にでも再回答いたしますので、しばらくおまちください。
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ