どのように私はRecordset.Findが何かを発見したかどうかを示す値を得るのですか?

StackOverflow https://stackoverflow.com/questions/694771

質問

私は、追加、削除、保存し、データベース(レコード)内のレコードを検索しまうプログラムを書きました。しかし、私はチームでそれをやっていました。私の仕事は、私が持っているプログラムに検索機能を追加することでした。しかし、私はときに誰かの種類の単語/データベース/レコードセットではありません何のためのエラーメッセージを追加することで問題を抱えています。

は、彼らが「ashbndash」と入力した場合、テキストボックス(txtFindBox.Text)で例えばので、それはエラーメッセージを思い付くでしょう。私は自分のエラーメッセージボックスをコメントアウトが、私は間違っているつもりだところを教えてきてください。(

ここで検索]ボタンのコードです。

Private Sub cmdFindDB_Click()
adoCustomer.Recordset.MoveFirst
If optLastName.Value = True Then
adoCustomer.Recordset.Find "LastName='" & txtFindBox.Text & "'"
'Else
'MsgBox ("NO RECORD FOUND")
End If
If OptFirstName.Value = True Then
adoCustomer.Recordset.Find "FirstName='" & txtFindBox.Text & "'"
'Else
'MsgBox ("NO RECORD FOUND")
End If
End Sub

編集:ただ、問題は、私はボタンを押すたびに、それはメッセージを思い付く「検索」それが答えを見つけていてもメッセージボックスに「NOレコードが見つかっ」、それはまた、そのメッセージボックスを思い付くことであると言うのが好きあなたもちんぷんかんぷんで入力した場合。

あなたの時間をありがとう。

よろしくハルーン

役に立ちましたか?

解決

ここで何をしようとする方法の例です: METHOD:レコードセット::

を検索

あなたのコードの例:

adoCustomer.Recordset.MoveFirst
adoCustomer.Recordset.Find "LastName='" & txtFindBox.Text & "'"
If (adoCustomer.Recordset.BOF = True) OR (adoCustomer.Recordset.EOF = True) Then
   MsgBox "Record not found"
End If

の代わりにValueプロパティがtrueであることを確認するには、EOFとBOFをチェックする必要があります。これらは、ファイルとファイルの先頭の終了を立ちます。いずれかに該当するのであれば、あなたは、あなたが何かを見つけることができませんでした意味、レコードセット「内部」ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top