• ベストアンサー

入力規則違反-任意のエラーメッセージの表示

Access初心者です。 フォーム上のテキストボックスのプロパティから「入力規則」を設定し、条件違反の場合には任意のエラーメッセージを表示したいと考えています。 プロパティの「エラーメッセージ」に複数行のメッセージを表示することは可能でしょうか。 また、メッセージボックスの題名を変更したり、記号を「情報」マークから「警告」マークなどに変更することはできますでしょうか。 方法をご存知の方、ご教示いただければ幸いです。 よろしくお願いいたします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

テーブルの入力規則の下のエラーメッセージに、複数行になるようにChr(10)など入れさせてくれないようです。(*A) ーー ただしCtrl+ENTERで、その後に文字列を続けると、入力時には2行になるようです。質問者のケースはそれで済むのかな。 ーー 質問のようにテーブルを元に(入力用)フォームをつくり(下記例では身長)フィールドのイベントの更新前処理に Private Sub 身長_BeforeUpdate(Cancel As Integer) Dim message As String, title As String Dim i As Long If (身長 < 150) Or (身長 > 200) Then message = "身長は 150 以上" & Chr(10) & "200 以下です" & Chr(10) & _ "低すぎたり高すぎます" title = "警告" i = MsgBox(message, vbOKOnly, title) Cancel = True Else Cancel = False End If End Sub を入れて、フォームの表示をして、入力してみると 範囲外の場合エラーメッセージは2行以上に出来ました。 ーー マクロでも入力規則そのものの設定はさせてくれないようです。(*B) またエクセルのように入力規則そのもののコードによる設定もさせてくれないようです。(*C)。ExcelではRangeに対するValidationのように。 ーー *A、*B、*Cは絶対か?といわれると自信ないですが、まず間違いないと思います。

taka_0120
質問者

お礼

imogasiさん、ありがとうございました。 非常に丁寧なご解説をいただき、感謝いたします。 ご指摘のように、マクロではやはり、「入力規則そのもの」の設定はさせてくれないようです。 VBAのコードについても、ご自身でテストの上、詳細な具体例を挙げていただき、初心者として心強い限りです。 複数行のメッセージを表示させることが出来ました。ありがとうございました。 もし余裕がございましたら、 (1)メッセージボックスに「!」「?」などの記号を表示する方法 (2)上記例で、2つ目の「& Chr(10) & 」の後にのみ「_」が付く理由 についてもご教示いただければ幸いです。

その他の回答 (2)

回答No.2

複数行のメッセージを入力するなら、エラーメッセージの入力で ctrl+Enter で改行すると、複数行入力できます。 またはvbaから設定すればできます。 あとの2つはわかりませんが・・・

taka_0120
質問者

お礼

fumufumu_2006さん、一つ一つに丁寧なご回答ありがとうございました。 参考になりました。 さっそく試行させていただきます。

noname#79209
noname#79209
回答No.1

テキストボックスの「更新後」インベントプロシージャに書いた方が良いように思いますが。 あるいは入力規則にチェック用のユーザー定義関数を指定するとか...

taka_0120
質問者

お礼

vizzarさん、たびたびありがとうございました。 参考にさせていただきます。

関連するQ&A

  • accessで未入力の場合にメッセージボックスを表示したい

    アクセスのフォーム(テキストボックス)が、未入力の場合メッセージボックスを表示したいです。 【追加条件】 1.テーブルで”入力規則”、”エラーメッセージ”は使わない。 2.vbaは使わない。 3.マクロの”条件”のみで処理する。 ---------------------------------------------------- vbaを使っての方法はあるみたいですが、マクロだけで入力判定をして、未入力の場合にメッセージボックスを表示する方法はないでしょうか?

  • エクセル2003 「エラーメッセージ表示方法」

    題名の通りではないのですが、 エクセル2003で  作成したファイルを常に開く度に 入力規則を使用して出されるような エラーメッセージで 「このフィルは○○ですので   注意して下さい・・」 などのメッセージを出したいのですが やはり。。 このような事は無理でしょうか? 別に入力規則みたいに、間違った数字や関数などを 設定して警告するものではなく、ただ単に ファイルを開いたら その本人に注意として 警告 するだけなのですが。。 

  • エラーメッセージを変更できますか?

    エクセルで在庫表の管理をしています。 ユーザーフォームで「抽出」ボタンと「すべて表示」ボタンを作成しましたが 既に”すべて表示”されている状態で「すべて表示」を実行すると 「実行時エラー'1004'」が表示されます(当然ですが・・・) このエラーメッセージを自作のメッセージボックスに変えたいのですが可能でしょうか? [すべて表示] Private Sub 抽出Buttonすべて_Click() ActiveSheet.ShowAllData End Sub [エラーになった場合変更したいメッセージ] Sub 表示エラー() MsgBox "すべて表示されています", vbOKOnly End Sub エラーメッセージの[終了]を、メッセージボックスの[OK]にしたいのですが。。。

  • Excelで入力規則の入力時に表示されるメッセージについて

    Excel2000を利用しています。 入力規則の設定で入力時メッセージを設定すると 表示されるメッセージ欄(アクティブセルにするとポップアップされる黄色い枠)の サイズ変更は可能ですか? コメント機能で、表示されるものは、サイズ変更可能ですよね。 同じようにサイズ変更が可能かどうか知りたいので、よろしくお願いします。

  • Accessでエラーメッセージの表示を消したい

    いつもお世話になります。 また知恵をお貸し願えませんか。  テーブルのデータをキーを指定して呼び出し修正して更新するフォームを作成しました。 修正をしたあとの処理のため「更新」ボタンと「キャンセル」ボタンを設定しました。  修正を入力したあとに「キャンセル」ボタンをクリックした場合は正常に処理されるのですが、 何も修正入力せずに「キャンセル」ボタンをクリックすると(内容を確認したいだけ、違うレコードを 呼び出した等)   コマンドまたはアクション’元に戻す’は無効です というエラーメッセージが表示されます。 OKをクリックすれば処理は進められるのですが、できればエラーメッセージは表示させたくないと 思います。  「キャンセル」ボタンのプロパティでクリック時の[埋め込みマクロ]で下記のように指定しています。    条件        アクション        引数 エラー時        次、            コマンドの実行    元に戻す [MacroError]<>0 メッセージボックス  =[MacroError],[Description],はい,なし            閉じる         ,,確認 元に戻すがエラーになっているので 閉じる 以外を消去してところ エラーメッセージは表示されませんでしたが、修正を行ったあとに「キャンセル」ボタンを クリックしてもレコードの内容が変更されていたため元に戻しました。 どのように指定すればよいでしょうか

  • エクセル入力規則の入力メッセージ

    はじめまして。表記の件につきまして質問させてください。 入力規則で入力メッセージを複数のセルに設定し、そのうちのひとつの入力メッセージの表示位置をドラッグして変更した場合、そのほかのセルに設定した入力メッセージの表示位置もすべて変更したセルの表示位置に変わってしまいます。 A1、B1、C1に入力メッセージを設定して、A1の表示位置を移動させるとB1、C1に設定したメッセージもA1のメッセージ位置に表示されます。 入力メッセージの表示位置を自由に変えることはできないのでしょうか。

  • VisualBasicのテキストボックスの入力規則について

    VisualBasic6.0のテキストボックスに入力規則を設定したいのですが、例えば、テキストボックスに日付データの「2002/5/10」と入力しなければならないのに「金曜日」と入力したときに、「入力規則に従っていません。」等のエラーメッセージを表示させたいのですが、こんなことできますか? できるとすればどのようにすればよいのでしょうか? 困っています。よろしくお願いします。

  • 空白はダメというエラーの表示(アクセス)

    こんにちは。アクセスについて質問があります。 その1. 「テキストボックスAが空欄です。何か入力してください。」というエラーを表示させたい。 アクセスの入力フォームでテキストボックスAが空欄のまま更新されそうな(保存またはレコードの移動)場合に上記のエラーを表示させるにはどうしたらいいでしょうか? ※エラーが表示されるだけでいいです。エラーのダイアログを閉じると空欄のままでも次に進めるように警告のみのエラー表示です。 その2. 「テキストボックスCが空欄です。何か入力してください。」というエラーを表示させたい。 同じ入力フォームで、コンボボックスBの選択リスト1、2、3のうち、2または3を選択した場合、テキストボックスCが空欄にならないように、テキストボックスCが空欄のまま更新されそうな(保存またはレコードの移動)場合上記のエラーメッセージを表示したいです。 ※上記と同じくエラー表示させるだけです。 よろしくお願いします。

  • エクセルで任意でエラーメッセージを表示したいのですが

    こんにちは。 エクセルでコード表を別シート上につくりVLOOKUP関数でコードを入力して表示しているのですが、別シートのコード表に登録されていない場合任意でエラーメッセージで ”登録されておりません”と言うように表示したいのですが 教えてください。 ちなみにAの1に10 Bの1には りんご と表示出来るようになってます。

  • 入力規則の入力時メッセージのサイズを変更したい

    入力規則の入力時メッセージで表示されるメッセージのサイズをコメントの挿入と同じようにサイズを変更することは可能でしょうか? 宜しくお願い致します。

専門家に質問してみよう