• 締切済み

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

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

みんなの回答

  • aptiva
  • ベストアンサー率36% (193/529)
回答No.1

その1 テキストボックスAのExitイベントプロシージャに If IsNull(テキストボックスA) then Msgbox("テキストボックスAが空欄です。") End If その2 formのBeforeUpdateイベントプロシージャに If (コンボボックスB = 選択2 or コンボボックスB = 選択3) and IsNull(テキストボックスC) then msgbox("テキストボックスCが空欄です。何か入力してください。」") End If その1、その2ともEnd Ifの前に、 Cancel=true Exit Sub と入れると、更新をキャンセルできます。

関連するQ&A

  • Accessであいまい検索するフォームをつくってみたんですが?

    Accessの初心者です。 本などをみながらあいまい検索ができるようなフォームをつくってみましたがフォームを開いた時、全レコードが表示されてしまいます。 クエリーの抽出条件はLike "*" & Forms!フォーム1!テキスト0 & "*"にしてテキストボックスプロパティの更新後処理でDoCmd.Requeryとしました。(意味がよくわからないんですけど) フォームを開いた時やテキストボックスになにも入力されていない時、全レコードが表示されないようにするにはどうすればいいのでしょうか? よろしくお願いします。

  • Access97でフォームの数字入力時マイナス値を認めない方法

    Access97で、フォームのレコードソースに Access内テーブルを割り当てています。 フォームのテキストボックスのコントロールソースには そのテーブルの数値項目の値を割り当てているのですが、 このテキストボックスにマイナス数値の入力を 認めない場合、更新後イベントにエラーチェックの コードを記述する以外に、簡単にエラーチェック出来る ような方法はないでしょうか。 よろしくお願い致します。

  • ACCESSフォームでのレコード数の表示方法

    ACCESS2000のフォームについて教えて下さい。 フォームのプロパティ『移動ボタンを表示する/しない』を『はい(表示する)』にした場合、「現在何件目のレコードにいるのか」と「レコード全件数」が表示されますよね?ここに表示される数値を、テキストボックスにも表示させたいのですが、どのような方法があるでしょうか。 「レコード全件数」はMax関数を使ってみたのですが、、「現在何件目のレコードにいるのか」を取得する方法が分かりません。 ご存知の方、どうぞよろしくお願いいたします。

  • ACCESSの書式設定方法(入力したまま表示させたい)

    ACCESSでのテキストボックスの表示に関してなのですが、 書式は数値 小数点以下表示桁数は自動 になっています。 このままだと、  2と入力した場合、「2」  2.5と入力した場合、「2.5」  何も入力しない空欄の場合、「0」 と表示されてしまいます。 これを  2と入力すると「2」  2.5と入力すると「2.5」  空欄の場合、「空欄のまま」or「スペース」 にしたいのですが、上手くいきません。 書式を #;#;#;# とすれば、2.5が「3」になってしまいます。 また #.#;#.#;#;#とすると、2が「2.」になってしまいます。 要するに入力したままを表示したいのですが、どうしたらいいのでしょうか? (見やすくするために、本来半角で書くべきところも全角で書いています。)

  • バーコードリーダーを使用してAccess2003にデータを入力したい

    はじめまして。 バーコードリーダーを使用してAccess2003へデータ入力を行いたいのですが、読み取っても次のレコードに移りません。(入力時にはフォームを使用してます) Access97を使用していた時には何も設定をしなくても読み取れば次のレコード(新規レコード)へ入力する状態に移るのですが、2003ではレコードがそのままの状態です。 例) ”2007/03/18””2007/03/19”という2つのバーコードの情報を読み取った場合「2007/03/18」「2007/03/19」と2つのレコードにAccess97ではなりますが、Access2003だと「2007/03/182007/03/19」という状態になってしまいます。 この現象を何とかしたいのですが、設定の問題でしょうか?  またこの問題を解決しようとフォームのテキストボックスのプロパティの「キー入力時」でマクロ「レコードの移動」を使用してみようとしましたが、マクロの設定がよく解らずエラーになります。 お手数ですがどなたか「設定」の方法かマクロ「レコードの移動」の使用方法を教えて下さい。お願いします。

  • フォームに表示したいんですが・・・

    複数の人数の作業時間を入力するフォームを作成しました。 誤って入力したものをフォーム上で訂正したいので非連結のテキストボックスを 2つ作成しクエリーの「作業日」と「社員番号」のフィールドの抽出条件をforms![フォーム名]![テキストボックス名]としました。 フォームの2つのテキストボックスに「日付」と「社員番号」を入力すると1レコードが表示されました。 間違いを探すのに1日1日入力するのは手間なので、例えばAさんの1年分の レコードから1月1日から1月31までの31レコードをフォームに表示させるにはどうすればよいのでしょうか? いろいろやってみたんですがうまく出来ませんでした。 うまく説明できませんがよろしくお願いいたします。

  • Access #エラーについて

    アクセスのフォームでサブフォームを作っていますがうまく計算できません。。 4つのテキストボックスとフッターに1つテキストボックスが下記のように設定しています。 ========================================================== 借入金 金利 返済期間  毎月返済額 =Pmt([金利]/12,[返済期間]*12,-[借入]) (フッター) 返済額合計 = Sum ( [毎月返済額] ) ========================================================== すべてのテキストボックスに数字を入力しているときは「毎月返済額」にエラーはでませんが、次のレコードや数字を入力していなかったり、ゼロが入っていると「#エラー」が表示されます。 「返済合計」には「0」(ゼロ)で計算されていません。 どのようにすればうまくいくのでしょうか? 宜しくお願いします。

  • ACCESS2003でクエリを使った検索フォームを作っています。

    ACCESS2003でクエリを使った検索フォームを作っています。 クエリは以下の様になっています。 ----------  番号   タイプ   品名  1111   AA     商品1  2222   AA     しょうひん2  3333   BB     商品しょうひん3 ---------- 品名のフィールドの抽出条件に ---------- Like "*" & [Forms]![品名検索フォーム]![品名検索] & "*" ---------- と入れています。 品名検索フォームは帳票タイプで、フォームヘッダーにテキストボックスを設け 「品名検索」と名前をつけています。 テキストボックスに【商品】と入力すれば番号1111と3333が、【しょうひん】と入力すれば 番号2222と3333が抽出されるように設定し、ここはうまく動きました。 ただ、このフォームを開いた際、テキストボックスは空欄になっているため、全レコードが 表示されてしまいます。テキストボックスが空欄の際は、何も表示したくないのですが どこを触ればいいのでしょうか? どうかよろしくお願いいたします。

  • 「#エラー」と表示されてしまう

    はじめまして、現在Windows98SE環境でACCESS2002を使っています。 タイトルの通り、フォームのテキストボックスに「#エラー」が表示されてしまいます。そのテキストボックスは「Int(金額*0.05)」という消費税を求める式をコントロールソースに指定?しています。(ここらへんの表現の仕方いまいちが分かりません…) 元になるクエリはちゃんと計算された金額が表示されているのに、フォーム上では 「#エラー」と表示されてしまう…。 また「#エラー」と表示される前に以下の作業をしています。 1.コンボボックスからある書類を検索する。 2.コマンドボタンを押すと、検索した書類の情報を追加クエリで   別のテーブルにコピーする。 3.サブフォームでテーブルの情報を表示させる(Formsを使って)。 ※コマンドボタンを押すと同時に、追加クエリが実行され、最新情報に更新し、  サブフォームにデータが表示されます。 このときに「#エラー」が表示されます。 ちなみに「#エラー」と表示されてから、一度デザインビューして、またフォームビューに戻すと正常に戻っています。 大変分かりにくい文章で申し訳無いのですが、ちょっとしたアドバイスでも 構いませんので、宜しくお願い致します。現状では、他に聞ける人間がいないのです。

  • 前レコードのテキストボックスと同じ値を表示させる

    環境:XP,ACCESS2003 帳票形式のフォームがあります。 次のレコードの入力に移った時、前のレコードのあるテキストボックスは、同じ内容を表示させる方法がわかりません。なお、同じ内容を表示させたいテキストボックスは連結でテーブルのフィールドをコントロールソースにしています。