プロが教えるわが家の防犯対策術!

非連結のtxtBoxのデータをcmdボタンで検索

いつもお世話になります。<m(__)m>

「T顧客管理」を基に「F顧客管理入力」を作成し「F顧客管理入力」
には非連結の「txtBox」と「cmd検索」があります。
「T顧客管理」に追加クエリにて「商品管理_ID・管理番号・商品名」
が入力済みになっております。
そこで「txtBox」に管理番号を入力して「cmd検索」を押して検索
されたレコードに顧客のデータを入力したいのですが、レコードが
検索されません。

「cmd検索」のイベントに

Private Sub cmd検索_Click()
DoCmd.SearchForRecord , , acFirst, "管理番号 Like '*" & Me!txt検索 & "*'"
Me!txt検索 = Null
End Sub

としています。
追加クエリは

INSERT INTO T顧客管理 ( 商品管理_ID, 管理番号, 商品名 )
SELECT T商品説明.商品管理_ID, T商品説明.管理番号, T商品説明.商品名
FROM T商品説明
WHERE (((T商品説明.商品名) Is Not Null));

として「T商品説明」には、他にフィールドがいくつかあります。

--「T顧客管理」--

商品管理_ID ---- 数値型(主キー)
管理番号 ------- テキスト型
商品名 --------- テキスト型
販売日時 ------- 日付/時刻型
販売価格 ------- 通貨型
お名前 --------- テキスト型
 ・
 ・
 ・

-----------------
コード等間違いがありますでしょうか?
初歩的な事と思いますが宜しくお願い致します。<m(__)m>

A 回答 (2件)

> 教えて頂いたコードを書いて試してみましたら「該当するデータはありません。


> とメッセージが出てしまいます。

コードは正常に動作していると言うことですね。

txt検索に、実際に存在する管理番号を入力していますか。
ちゃんと入力しているのに「該当するデータはありません」と出るのなら、

"管理番号 Like '*" & Me!txt検索 & "*'"

の部分が間違っていることになります。

管理番号というフィールド名に間違いはないですか。
データ型はテキスト型で間違いないですか。

上記部分を、下記のように書き直した場合どうなるか試してもらえますか。

"管理番号 = '123456'"


123456 は実際に存在する管理番号で。
    • good
    • 0
この回答へのお礼

hatena1989 様

返答が遅くなりまして申し訳ありません。<m(__)m>
急に入院してしまったので・…

>"管理番号 Like '*" & Me!txt検索 & "*'"
>の部分が間違っていることになります。

ご回答のとおりコードを書き間違えていました。
コードを訂正しまして検索できるようになりました。
本当に初歩的なミスでお忙しいところ時間をとらせてしまい申し訳
ありません。
また質問等するかと思いますのでこれに懲りずに、宜しければまた
宜しくお願い致します。<m(__)m>

お礼日時:2010/12/06 08:02

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
    • good
    • 0
この回答へのお礼

ご回答頂き有難うございます。<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

教えて頂いたコードを書いて試してみましたら「該当するデータはありません。」
とメッセージが出てしまいます。

お礼日時:2010/11/27 11:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す