2012-03-06 9 views
0

私はAccess 2007でデータベースを持っており、現在、テキスト検索ボックスに次のコードを使用しています。私の問題は、全体の名前が検索ボックスに入力された場合にのみレコードを見つけることです。ビジネス名の場合は、ユーザーがビジネスの最初の単語を入力できるようにし、フォーム上のレコードを取得します。現在、私がファーストネームを入力すると、レコードが見つからないと表示されます。私は会社名全体を入力する必要があります。誰かが私に必要なもののためにこのコードを調整するのを助けることができますか?Access 2007で条件の一部を検索するテキスト検索ボックスを作成するにはどうすればよいですか?

ます。Private Sub txtsrch_AfterUpdate()

If (txtsrch & vbNullString) = vbNullString Then Exit Sub 
    Dim rs As DAO.Recordset 
Set rs = Me.RecordsetClone 
rs.FindFirst "[lastname]=""" & txtsrch & """" 
If rs.NoMatch Then 
    MsgBox "Sorry, no such record '" & txtsrch & "' was found.", _ 
      vbOKOnly + vbInformation 
Else 
    Me.Recordset.Bookmark = rs.Bookmark 
End If 
rs.Close 
txtsrch = Null 

End Subの

ありがとうございます。あなたがすることができ

答えて

0

rs.FindFirst "[lastname] Like '*" & Replace(txtsrch,"'","''") & "*'" 
あなたはtxtsrchを開始するために(DAOのため*)のワイルドカードを置く場所を変えることができ

は、txtsrchで終わる、または示されるように、名前にtxtsrchを持っています。

+0

ありがとうございます。私が何かを置き換えようとしていないのであれば、なぜ私はそこに取り替えてしまいますか?私は少し混乱しています。それは完全に動作しています。 –

+0

文字列のアポストロフィのエスケープを行い、 'D'Alembert * ''のような検索をしないようにしました。これはエラーの原因になります。 – Fionnuala

関連する問題