アプリ版:「スタンプのみでお礼する」機能のリリースについて

accessにて、薬の在庫管理DBを構築しています。
「薬剤名」で検索をし、フォーム上に表示させたいと思っていますが、
コード記述をしても検索出来ず、かれこれ2~3週間悩み続けております。

一人で四苦八苦しながら作って居るため、
原因が良く分からず、質問させて頂きます。
よろしくお願い致します。m(__)m

視覚的に説明します。

             f_薬剤マスター

~フォームヘッダ~
非連結のtxt 「薬剤検索」    「検索」ボタン     ※2つがあります

~詳細~
「薬剤ID」 「薬剤区分ID」「薬剤区分名」 「薬剤名」 「包装内容」 「包装量」
「単位」「適用チェック」

とあります。

フォームヘッダの検索ボタンのイベントプロジーシャに

Private Sub コマンド20_Click()
Me.Filter = "[薬剤名] Like '*" & Me!薬剤検索 & "*'"
Me.FilterOn = True
End Sub

と記述をしていますが、薬剤名を入れて、コマンドボタンを押しても検索がかけられません。

この「f_薬剤マスター」をメインフォームとして、
サブフォーム
「f_仕入れマスター」と
「f_価格マスター」と
言う順で2つ連結させていますがその関係もあるのでしょうかせいなのでしょうか?

尚、この3つのフォームのリレーションは
t_薬剤マスター → t_仕入れマスター → t_価格マスター

と、いづれも 1対多 でリレーションを組んでいます。

初心者の為何がおかしいのか良くわかりません。

どなたかご教授の程お願い致します。m(__)m

「access 検索フォームで検索が出来な」の質問画像

A 回答 (3件)

#1です。

補足を元に、簡易化したテーブルとクエリで試験してみました。こちらでは3.で、思い通りの抽出が出来ます。以下にそのSQL文を示しますので、問題点を検討してください。

SELECT t_薬剤マスター.薬剤ID, t_薬剤マスター.薬剤区分ID, t_薬剤マスター.薬剤名
FROM t_薬剤区分 INNER JOIN t_薬剤マスター ON t_薬剤区分.薬剤区分ID = t_薬剤マスター.薬剤区分ID
WHERE (((t_薬剤マスター.薬剤名) Like "*薬剤名*"));

これでも判らないようであればpiro0422さんの作った3.部分のSQL文を提示してください。
    • good
    • 1
この回答へのお礼

fuuten_no_neko 様

出来ました!
fuuten_no_neko 様
から教えて頂いたSQLを元に抽出したいレコードを追加し、
薬剤名の抽出条件にLike "*" & [Forms]![f_薬剤検索用]![薬剤名] & "*"
と記述

f_薬剤検索用に
薬剤名txt
コマンドボタンを作成
マクロビルダにてq_薬剤検索を開くにした所、思い通りのデータを抽出する事が出来ました。

お忙しい中のご対応、又SQL文まで作成、試験までして頂き、
本当にありがとうございます。
長い間悩んでいましたので感謝の気持ちでいっぱいです。
本当にありがとうございました。m(__)m

お礼日時:2010/02/23 21:53

よく読んでいませんが


パッと見、これかも。
http://support.microsoft.com/kb/941800/ja
    • good
    • 0
この回答へのお礼

bonaron 様

ありがとうございます!
実は私の家には2000しかなく(2007購入しましたが)
その際のテストでは検索出来たのです。
やはりこういう事もあるのですね。
後学の為に早速テストしてみたいと思います。
おかげ様で先に進めそうです。

ほんとにありがとうございました!

お礼日時:2010/02/23 22:02

説明されていることが良く判りませんが(真面目に読む根気がない(^^;)


デバッグの手順的なことで云えば

1.詳細に表示されるレコードソースのSQL文はどのようなものでしょうか?
2.そのSQL文を単独で実行すると、全データが表示されるでしょうか
3.そのSQL文の「薬品名」に対し「抽出条件」を「Like "* 薬剤検索*"」(「薬剤検索」は適切な文字列に替えること)で、望むような抽出は出来るでしょうか?

この回答への補足

おはようございます。
fuuten_no_neko 様

早々のご回答ありがとうございます。
又、お疲れの所ありがとうございます。m(__)m
感謝致します。(TT)

早速ですが補足を追加させて頂きます。

1.詳細に表示されるレコードソースのSQL文はどのようなものでしょうか?

レコードソースはq_薬剤マスターから生成されておりまして、SQLは下記の様になります。

SELECT t_薬剤マスター.薬剤ID, t_薬剤マスター.薬剤区分ID, t_薬剤区分.区分名, t_薬剤マスター.薬剤名, t_薬剤マスター.包装内容, t_薬剤マスター.包装量, t_薬剤マスター.単位, t_薬剤マスター.薬価, t_薬剤マスター.適用チェック, t_薬剤マスター.備考
FROM t_薬剤区分 INNER JOIN t_薬剤マスター ON t_薬剤区分.薬剤区分ID = t_薬剤マスター.薬剤区分ID;


2.そのSQL文を単独で実行すると、全データが表示されるでしょうか

出来ます。
新規でクエリデザインを作成、SQLビューに貼り付けた所、全データが表示されました。

3.そのSQL文の「薬品名」に対し「抽出条件」を「Like "* 薬剤検索*"」(「薬剤検索」は適切な文字列に替えること)で、望むような抽出は出来るでしょうか?

出来ませんでした。(TT)
「Like "* 薬剤検索*"」
の"* 薬剤検索*"の文字列を薬品名に変えた所、空のレコードが表示されました。
抽出条件に"薬品名"を普通に入力した所、該当レコードが表示されました。

これはクエリの組み方がおかしいと言う事なのでしょうか?
お忙しい所、お手数おかけ致します。m(__)m

補足日時:2010/02/22 10:38
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

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


このQ&Aを見た人がよく見るQ&A