- ベストアンサー
別のテーブルのフィールドを抽出項目にするには?
- データの内容は、テーブル1とテーブル2から結合したクエリ(名前は元データ)であり、フィールド1とフィールド2の情報が含まれています。
- 抽出条件が多い場合でも、別のテーブルのフィールドに入っている単語を使い、あいまい検索して非表示にしたいデータを抽出することができます。
- 実際には、除外リストというテーブルを作成し、そのフィールドに書かれたキーワードを使って非表示にしたいデータを絞り込むことができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
以下でどうなるでしょうか。 元データのクエリの名前を「元データ」とします。 除外リストは、そのまま「除外リスト」名とします。 SELECT * FROM 元データ WHERE NOT EXISTS ( SELECT 1 FROM 除外リスト WHERE 元データ.フィールド2 LIKE "*" & 除外リスト.フィールド1 & "*" ) ; 曖昧で一致するもの、が無ければ…、と考えてみましたが。 (修理性能はわかりません)
その他の回答 (2)
- kmetu
- ベストアンサー率41% (562/1346)
こちらが参考になると思います ACCESS クエリ 抽出条件が多い場合 http://okwave.jp/qa/q4719476.html
お礼
ご回答ありがとうございます! 参考に貼っていただいたリンク拝見いたしました! ありがとうございます! ただ、勉強不足で申し訳ありません。 下記項目、あいまい方向を追加のやり方がわからず… もしよろしければ教えていただけないでしょうか?(新しく質問したほうがいいのかわからず…申し訳ありません) どうぞ宜しくお願いいたします。 検索する文字列テーブルに細工(曖昧方向を追加) 検索する文字列テーブル(名前:TS) フィールド(名前:FN)/ 曖昧方向(名前:SP) aaa 1 bba 1 曖昧方向の意味 =1:後方曖昧 (例:aaa*) =2:前後曖昧 (例:*aaa*) =3:前方曖昧 (例:*aaa)
- imogasi
- ベストアンサー率27% (4737/17069)
こういう課題はVBAで無いと出来ないでしょう。 そして背後にはSQLの利用が必要か。 操作だけで、検索条件の文字列を他テーブルから持ってくるのは、アクセスの予想外の使い方(の要望)ではないかな。 SQLを使う場合も1SQL文の文字列の長さに制約があるので注意が必要なんだか、見たところまず大丈夫か。 http://www.accessclub.jp/bbs6/0007/das1816.html 指定した物を削除したクエリをつくり、それを対象にさらに次の指定したものを削除の方法を繰り返す方法も指定が多いと現実的な方法ではないし。 共通しないレコードを抽出する方法も指定が多いと現実的でない。 一回限りなら、Not Like "*りんご*" And Not Like "*チェリー*"・・の文字列をプログラムなどでどこかにつくり、それを手動でSQLビューのSQL文にコピー貼り付けするとか。 そうなるとSQL文全体をプログラムで作るに近いが。 ーー あるいは全レコードを読んで(ADOなど)、各レコードにおいて、100条件に該当するかどうか(Instr関数など利用)調べ、該当しないレコードを書き出す、を繰り返す方法も思い浮かぶが、処理時間がかかるかも。条件に該当するものに、決めたフィールドに印をつければ、その後のフィルタは簡単だが。
お礼
ご回答ありがとうございます! 簡単にできるようなものではないのですかね…;; まだまだ勉強不足でプログラムを作るのは難しく… 今後も教えていただいたリンクを参考に勉強してみたいと思います。 どうもありがとうございます。
お礼
ありがとうございます! できました!! 本当に助かりました!詳しく書いてくださってありがとうございます! 皆様にポイントお付けしたいのですが、解決できたご回答でつけさせてください! 本当にありがとうございました!