Microsoft Access 掲示板

検索結果のレコード移動がうまくいきません。 / 2

20 コメント
views
4 フォロー
2

自分が書くなら下記のようなコードになります。
社員番号フィールドのデータ型は数値型の前提です。
完全一致の場合は、Like ではなく = の方がいいでしょう。
検索ボックスのテキストが数字だけなら 社員番号、ひらがなだけなら せい、それ以外なら を対象に検索するようにしてます。

Private Sub 検索実行_Click()
    DoSearch acFirst
End Sub

Private Sub 次へ_Click()
    DoSearch acNext
End Sub

Private Sub 前へ_Click()
    DoSearch acPrevious
End Sub

Private Sub DoSearch(Rec As AcRecord)
    If Nz(Me.検索.Value) = "" Then
        MsgBox "検索テキストボックスに入力してください。"
        Exit Sub
    End If
    
    If Not Me.検索.Value Like "*[!0-9]*" Then
        DoCmd.SearchForRecord , , Rec, "社員番号 = " & Me!検索
    ElseIf Not Me.検索.Value Like "*[!あ-ん]*" Then
        DoCmd.SearchForRecord , , Rec, "せい = '" & Me!検索 & "'"
    Else
        DoCmd.SearchForRecord , , Rec, "姓 = '" & Me!検索 & "'"
    End If
End Sub
通報 ...