|
小僧さん:
こんばんわ。
長い間、右も左もわからない私にお付き合い頂き、
ありがとうございました。
今回の回答を通じて、基本的なことを理解することができました。
なんとか、考えていたものに完成させることができました。
↓のようにしてみました。
Private Sub 検索ボタン_Click()
Dim strCtrl(1 To 3) As Variant
Dim I As Long
strCtrl(1) = "入団年"
strCtrl(2) = "入団月"
strCtrl(3) = "ポジション"
For I = 1 To 3
If IsNull(Me.Controls(strCtrl(I))) Then
MsgBox strCtrl(I) & "を入力してください。"
Me.Controls(strCtrl(I)).SetFocus
Exit Sub
End If
Next
If DCount("*", "選手1", "Left(入団日, 4) = '" & Me.入団年 & "'") = 0 Then
MsgBox "選択された入団年は存在しません。"
ElseIf DCount("*", "選手1", "mid(入団日,6,2) = '" & Me.入団月 & "'") = 0 Then
MsgBox "選択された入団月は存在しません。"
ElseIf DCount("*", "選手1", "ポジション = '" & Me.ポジション & "'") = 0 Then
MsgBox "記入されたポジションは登録されておりません。"
ElseIf DCount("*", "選手1", "ポジション = '" & Me.ポジション & "' AND " & "Left(入団日,7) = '" & Me.入団年 & "/" & Me.入団月 & "'") = 0 Then
MsgBox "結果は0件です。"
Else
Me.Filter = "Left(入団日, 4) = '" & Me.入団年 & "' AND mid(入団日,6,2) = " & Me.入団月 & "AND ポジション = '" & Me.ポジション & "'"
Me.FilterOn = True
End If
End Sub
Private Sub レコード移動_Click()
On Error GoTo Err_レコード移動_Click
DoCmd.GoToRecord , , acNext
Exit_レコード移動_Click:
Exit Sub
Err_レコード移動_Click:
MsgBox Err.Description
Resume Exit_レコード移動_Click
End Sub
お時間のあるときにでもみて頂けると有り難いと思います。
どうやら、ANDの時にカッコの使い方が不十分なためできていなかったようです。
実は、今回Recordset.RecordCount についての理解がよくできませんでしたが、
じっくり時間をかけてトライして生きたいと思います。
実は、[#5863]検索用フォームの作成の
【txt人数】:テキストボックスに件数が表示されなかったのです。
私の手違いかと思いますので、
まず、ここに表示させることができるようになったら、
If Me.Recordset.RecordCount = 0 Then
Msgbox "結果0件ですね"
Me.FilterOn = False
End If
を取り入れたやり方を試してみたいと思います。
本当に長い間、お忙しいところ、
的確なご意見とご教授有難うございました。
いつか、自分の力だけでできるように精進して参ります。
|
|