Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1008 / 2272 ツリー ←次へ | 前へ→

【9157】フォーム上の入力規制について まこ 07/3/7(水) 15:40 質問[未読]
【9160】Re:フォーム上の入力規制について 小僧 07/3/9(金) 11:20 回答[未読]
【9166】Re:フォーム上の入力規制について まこ 07/3/12(月) 16:13 お礼[未読]

【9157】フォーム上の入力規制について
質問  まこ  - 07/3/7(水) 15:40 -

引用なし
パスワード
   はじめまして。

フォーム上に、以下の2つのフィールドがあるとします。
・フラグ選択用のコンボボックス…(A)
・コメントを入力するためのテキストボックス…(B)

ユーザーが(B)にコメントを入力したとき、
コンボボックス(A)が未選択の場合は入力エラーとし、
MsgBoxで警告メッセージを出したいのですが、
どのようにロジックを組むのが一番うまくいくでしょうか?

よろしくお願いします。

【9160】Re:フォーム上の入力規制について
回答  小僧  - 07/3/9(金) 11:20 -

引用なし
パスワード
   ▼まこ さん:
こんにちは。

>ユーザーが(B)にコメントを入力したとき、
>コンボボックス(A)が未選択の場合は入力エラーとし、
>MsgBoxで警告メッセージを出したいのですが、

テキストボックス(B)を txtB、コンボボックス(A)を cmbA とすると


まず、一番単純な方法として、
txtB の入力規則に

=[cmbA] Is Not Null

の様に記述する方法がありますが、
エラーで出るメッセージが Access 固有のものであるため、
何が原因なのかが解りづらいという欠点があります。

VBA で制御するとなると、txtB の更新前処理に

Private Sub txtB_BeforeUpdate(Cancel As Integer)
  If IsNull(Me.cmbA) Then
    MsgBox "コンボボックスが選ばれていません"
    Cancel = True
  End If
End Sub


のような感じになるかと思われます。

【9166】Re:フォーム上の入力規制について
お礼  まこ  - 07/3/12(月) 16:13 -

引用なし
パスワード
   ▼小僧 さん:
返信が遅くなってごめんなさい。
ご教授いただいた内容で処理ができました。
ありがとうございます!!

1008 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free