
最近Accessを始めた初心者です。
レポートで出力する際に文字が切れないように、フォームで入力文字数の制限をするため、Len関数でプロパティの入力規則に以下の設定をしました。
入力規則 Len([フィールド名])<51
エラーメッセージ 50文字以下に調整してください。
で、入力テストをしてみたところ、50文字まで入力可能、51文字からエラーメッセージが表示されるところまでは問題ないのですが、エラーの発生したテキストボックスを空にして、他のテキストボックスへ移動すると、また同じエラーメッセージが出てしまいます。
その後は何文字か入力しないと次のテキストボックスに移れなくなってしまい、入力する場所を間違えた場合にフォームを開きなおさねばならない状態です。
他には新しいレコードに移る際に、コードに以下のメッセージを設定していますが、他は何もしていません。
Private Sub Form_BeforeUpdate(Cancel As Integer)
Beep
If MsgBox("情報が変更されています! 変更されたデータを保存しますか?", _
vbYesNo + vbQuestion) = vbNo Then
Me.Undo
Cancel = True
End If
End Sub
どなたかご教授いただけないでしょうか。
No.1ベストアンサー
- 回答日時:
Len(Nz([フィールド名],""))<51
でいかがでしょう。
Len([フィールド名])<51 Or Is Null
でもいけるかな?(未確認)
Len(Nz([フィールド名],""))<51 を使って目的のテキストボックスにすることが出来ました。
>>Nz関数は、値が数値の場合は数値の0 、値が文字列の場合、長さ 0 の文字列を
>>返します。ただしクエリで使用すると常に長さ 0 の文字列を返します。
なるほど、そういったやり方で回避出来たのですね、大変勉強になりました。
ご指導ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースのINT型項目にNULL...
-
アクセスで数値型のフィールド...
-
passwordが入れられません・・・・
-
SQLで構文を間違って入力して;...
-
フォームで入力しても反映されない
-
アクセスのテキストボックスの...
-
このオブジェクトに値を代入す...
-
Access2007、フォームのテキス...
-
PostgreSQL PHP
-
日付のテキストボックスに(例...
-
accessでフォームに入力した値...
-
ACCESS 時間の入力方法
-
Accessで主キーの最終番号を取...
-
アクセス2007 フォーム入力で...
-
アクセス2003 入力規則
-
Accessで所要時間の足し算
-
アクセス:Inputboxへの文字列...
-
Accessで西暦の年だけ表示したい
-
入力規則違反-任意のエラーメ...
-
自動入力
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースのINT型項目にNULL...
-
アクセスで数値型のフィールド...
-
passwordが入れられません・・・・
-
フォームで入力しても反映されない
-
Excelで入力したデータを自動的...
-
Access(office)のマクロの「値...
-
このオブジェクトに値を代入す...
-
アクセスのテキストボックスの...
-
入力規則違反-任意のエラーメ...
-
Accessで小数の入力について
-
ファイルメーカー 一ヵ月後の...
-
Access2007 textboxに入力でき...
-
日付のテキストボックスに(例...
-
SQLで構文を間違って入力して;...
-
Access2007、フォームのテキス...
-
パラメータクエリで抽出がうま...
-
Accessで西暦の年だけ表示したい
-
ACCESS2000にて「うるう年」の...
-
EXCELのユーザーフォームで入力...
-
アクセスでの回数の表示
おすすめ情報