• ベストアンサー

アクセスでの文字検索方法

いつもお世話になります。 今回、マイクロソフト アクセスを使用する事になりました。 会社の見積りで使用するのですが、今まではエクセルで見積りを作り、過去の見積書から拾い出し、コピペで作成していました。 今はコンボボックスを使用して見積書を作成していますが、検索数が多いので、文字を入力して検索出来ないかと思います。 1つのテーブルに「機械名」「品番」「部品名」「型番」「単価」「担当者」と作り、コンボボックスで「機械名」を選び、次に「部品名」「型番」・・・と選ぶようになっています。 これを「機械名」「部品名」と入力すると、フォーム詳細に出るようにしたいです。 どのような方法があるのでしょうか。 アクセス暦が2ヶ月と超初心者なので、説明が分かりにくいと思います。 OSはWin2000、アクセスは2000です。 どうぞ、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

カテゴリが、おそらく違うので回答が付かないだろうと思ったのですが・・・付いてませんね。 クエリーで、検索条件に Like "*" & Form![フォーム名]![コントロール名] & "*" を設定し、フォームのレコードソースに使用し、上記のコントロールが更新後に、再クエリーのマクロかVBAを稼動させる事で、フォーム詳細に絞込みが可能になります。 ただし、クエリーの条件に使用するコントロール名はコントロールソースなしのテーブルのフィールド名と違うものを使用ください。 多分、これで、 > フォーム詳細に出るようにしたいです。 は、可能だと思うのですが・・・。 どう見積書の内訳として使うのか、イメージできないのですが・・・。

derio
質問者

お礼

お返事ありがとうございます。 まだまだ初心者なんで、1つ1つ勉強していきます。 見積書と使用する方法は、フォームを作って、その中にサブフォームで今回、お聞きした物を入れようと考えています。 カテゴリが違うかったんですね。すみません。

その他の回答 (1)

  • kafuyu
  • ベストアンサー率0% (0/1)
回答No.2

>これを「機械名」「部品名」と入力すると、フォーム詳細に出るようにしたいです。 →Dxak様のご回答通り、フォームレコードのソースにSQL文を入れれば問題ないかと思います。 ですが、それだけではクエリーが実行されません。ですからいずれかのアクション時に以下のVBAを記載してあげれば大丈夫だと思います。 Me.Requery '←フォーム内のクエリーを再表示 後は、ヘッダー部分に『機械名』『部品名』のコンボボックスを作れば、一覧は出来ると思います。 ただこれが見積書に、どのように結びつくか解りませんが…。 あとDxak様のご回答に少し発展させたSQLを記載して見ますね。 テーブル名:ICHIRAN SQL文:SELECT * FROM ICHIRAN WHERE 機械名 Like '*" & Me![コントロール名] & "*' AND 部品名 Like '*" & Me![コントロール名] & "* ' " 自分のフォーム内でしたらMeが使えます。 他のフォームでしたらForms![フォーム名]![コントロール名]で参照出来ます。 色々書いてしまいましたが、もし色々悩んでましたら、参考URLの掲示板を見て下さい。結構役にたちますよ。

参考URL:
http://www.moug.net/
derio
質問者

お礼

お返事ありがとうございます。 参考URL、とても役に立ちます。 パソコンを使えるのが会社で僕がメインになってしまっているので、 他の誰にも聞けません。(社員10人の零細企業です) 少しづつですが、がんばって勉強いたします。

関連するQ&A