|
こんにちは。いつもお世話になっています。
あるフォームから追加クエリを実行する際、
入力漏れがないかチェックを行うため、
下のようなコードを書いています。
テキスト書込用費目選択が、”通学随時”か”新入学随時”か”修学旅行随時”のときに、テキスト書込用フリガナの入力が必須であるため、空欄の場合入力を促すメッセージが出るようにしたいのですが・・。
下の記述だと、書込用フリガナが空欄の場合、入力を促すメッセージが出るのですが、
フリガナを入力した後にもメッセージが出て次へ進めません。
And やorの使い方がおかしいのかなと思いますが、どこを修正したらよいのかよくわかりません。
解決方法をよろしくお願いします。
(Win2000 Access2000)
Private Sub コマンド52_Click()
On Error GoTo Err_コマンド52_Click
If InputCheck() <> 0 Then
MsgBox "入力されていない項目があります。", vbOKOnly, "入力もれ"
Exit Sub
End If
If Me.書込用費目選択 = "通学随時" Or Me.書込用費目選択 = "新入学随時" Or Me.書込用費目選択 = "修学旅行随時" And IsNull(Me.書込用フリガナ) Then
MsgBox "生徒名を入力してください。", vbOKOnly, "確認"
Me!書込用フリガナ.SetFocus
Exit Sub
End If
Dim stDocName As String
stDocName = "Q_T_給付予定への追加クエリ"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_コマンド52_Click:
Exit Sub
Err_コマンド52_Click:
MsgBox Err.Description
Resume Exit_コマンド52_Click
End Sub
――――――――――――――――――――――
Private Function InputCheck() As Integer
'入力もれがないかをチェックします。
'入力もれがあったときは0以外の数値を返します。
Dim ans As Integer
ans = 0
If IsNull(Me.フレーム89) Then
ans = -1
End If
If IsNull(Me.振込年月日) Then
ans = -1
End If
If IsNull(Me.書込用費目選択) Then
ans = -1
End If
InputCheck = ans
End Function
|
|