- ベストアンサー
非連結txtBoxのデータをcmdボタンで検索する方法とは?
- 「T顧客管理」を基に「F顧客管理入力」を作成し、「F顧客管理入力」には非連結の「txtBox」と「cmd検索」があります。
- 「txtBox」に入力された管理番号を使用して「cmd検索」をクリックすると、該当するレコードを検索して顧客のデータを入力することができます。
- 質問者は「cmd検索」のイベントと追加クエリについて質問しており、コードに間違いがあるかどうかを確認したいとしています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 教えて頂いたコードを書いて試してみましたら「該当するデータはありません。」 > とメッセージが出てしまいます。 コードは正常に動作していると言うことですね。 txt検索に、実際に存在する管理番号を入力していますか。 ちゃんと入力しているのに「該当するデータはありません」と出るのなら、 "管理番号 Like '*" & Me!txt検索 & "*'" の部分が間違っていることになります。 管理番号というフィールド名に間違いはないですか。 データ型はテキスト型で間違いないですか。 上記部分を、下記のように書き直した場合どうなるか試してもらえますか。 "管理番号 = '123456'" 123456 は実際に存在する管理番号で。
その他の回答 (1)
- hatena1989
- ベストアンサー率87% (378/433)
DoCmd.SearchForRecord はAccess2007から追加されたメソッドですが、 Accessのバージョンは2007 または 2010 ですか。 当方の2007で試してみましたが、1回目は検索しますが、2回目から検索できないなど、どうも不安定です。 代わりに、Recordset.FindFirstメソッドを使えばどうでしょうか。 Private Sub cmd検索_Click() With Me.RecordSet .FindFirst "管理番号 Like '*" & Me!txt検索 & "*'" If .NoMatch Then MsgBox "該当するデータはありません。" End With Me!txt検索 = Null End Sub
お礼
ご回答頂き有難うございます。<m(__)m> >DoCmd.SearchForRecord はAccess2007から追加されたメソッドですが、 >Accessのバージョンは2007 または 2010 ですか。 Accessのバージョンは2010です。 >代わりに、Recordset.FindFirstメソッドを使えばどうでしょうか。 >Private Sub cmd検索_Click() > With Me.RecordSet > .FindFirst "管理番号 Like '*" & Me!txt検索 & "*'" > If .NoMatch Then MsgBox "該当するデータはありません。" > End With > Me!txt検索 = Null >End Sub 教えて頂いたコードを書いて試してみましたら「該当するデータはありません。」 とメッセージが出てしまいます。
お礼
hatena1989 様 返答が遅くなりまして申し訳ありません。<m(__)m> 急に入院してしまったので・… >"管理番号 Like '*" & Me!txt検索 & "*'" >の部分が間違っていることになります。 ご回答のとおりコードを書き間違えていました。 コードを訂正しまして検索できるようになりました。 本当に初歩的なミスでお忙しいところ時間をとらせてしまい申し訳 ありません。 また質問等するかと思いますのでこれに懲りずに、宜しければまた 宜しくお願い致します。<m(__)m>