dポイントプレゼントキャンペーン実施中!

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

A 回答 (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は絶対か?といわれると自信ないですが、まず間違いないと思います。
    • good
    • 0
この回答へのお礼

imogasiさん、ありがとうございました。
非常に丁寧なご解説をいただき、感謝いたします。
ご指摘のように、マクロではやはり、「入力規則そのもの」の設定はさせてくれないようです。
VBAのコードについても、ご自身でテストの上、詳細な具体例を挙げていただき、初心者として心強い限りです。

複数行のメッセージを表示させることが出来ました。ありがとうございました。

もし余裕がございましたら、
(1)メッセージボックスに「!」「?」などの記号を表示する方法
(2)上記例で、2つ目の「& Chr(10) & 」の後にのみ「_」が付く理由
についてもご教示いただければ幸いです。

お礼日時:2008/04/20 13:58

複数行のメッセージを入力するなら、エラーメッセージの入力で


ctrl+Enter
で改行すると、複数行入力できます。
またはvbaから設定すればできます。

あとの2つはわかりませんが・・・
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/04/20 13:38

テキストボックスの「更新後」インベントプロシージャに書いた方が良いように思いますが。


あるいは入力規則にチェック用のユーザー定義関数を指定するとか...
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/04/20 13:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A