0

データベース (レコードセット) 内のレコードを追加、削除、保存、および検索するプログラムを作成しました。しかし、私はチームでそれをやっていました。私の仕事は、私が持っているプログラムに検索機能を追加することでした。ただし、誰かがデータベース/レコードセットにない単語/何かを入力したときにエラーメッセージを追加することに問題があります。

たとえば、テキスト ボックス (txtFindBox.Text) で「ashbndash」と入力すると、エラー メッセージが表示されます。私は自分のエラーメッセージボックスをコメントアウトしましたが、どこが間違っているのか教えてください:(

検索ボタンのコードは次のとおりです。

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 RECORD FOUND」というメッセージが表示されることです。入力すると、そのメッセージボックスも表示されますちんぷんかんぷんにも。

御時間ありがとうございます

よろしくハルーン

4

1 に答える 1

2

実行しようとしている方法の例を次に示します。 METHOD: Recordset::Find

コードの例:

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 を確認する必要があります。これらは、ファイルの終わりとファイルの始まりを表します。したがって、どちらかが true の場合、レコードセットの "内部" ではありません。つまり、何も見つかりませんでした。

于 2009-03-29T15:24:15.767 に答える