人気マンガがだれでも無料♪電子コミック読み放題!!

ACCESSの初心者です。
下記データ形式で、条件抽出を行いたいです。
【テーブル1】
【抽出条件テーブル】
【抽出結果テーブル】

・抽出条件は、完全一致抽出でなく”含む”でやりたいです・(例:)*老人福祉施設*
・そして、抽出結果には、重複行が出ないよう、重複削除がされていて欲しいです。
・【抽出条件テーブル】の内容を更新されたら、容易に、新たな結果を取得できるような仕組みにしておきたいです。



【テーブル1】
会社名業種住所

*****慶和園特別養護老人ホーム,老人福祉施設北海道虻田郡京極町字更進
***特別養護老人ホームほのぼの荘特別養護老人ホーム北海道利尻郡利尻町仙法志字政泊
***町役場/特別養護老人ホーム特別養護老人ホーム北海道利尻郡利尻富士町鬼脇字金崎
***村役場/特別養護老人ホーム銀河荘特別養護老人ホーム北海道虻田郡留寿都村字留寿都
****/普仁園・愛仁園特別養護老人ホーム,福祉施設,養護老人ホーム,老人福祉施設北海道帯広市南町



【抽出条件テーブル】
業種住所
老人福祉施設北海道
老人福祉施設青森県
老人福祉施設岩手県

ラーメン店北海道
ラーメン店青森県
ラーメン店岩手県



【抽出結果テーブル】
会社名業種住所

*****慶和園特別養護老人ホーム,老人福祉施設北海道虻田郡京極町字更進
***特別養護老人ホームほのぼの荘特別養護老人ホーム青森県*******
***町役場/特別養護老人ホーム特別養護老人ホーム岩手県利尻郡利尻富士町鬼

このQ&Aに関連する最新のQ&A

A 回答 (3件)

提示されたサンプルは、空白部分が項目の区切りですよね。



【テーブル1】の名前を「T1」、項目が「会社」「業種」「住所」
【抽出条件テーブル】の名前を「T2」、項目が「業種」「住所」

と仮定します。

抽出結果を表示するクエリを考えてみます。


SELECT DISTINCT T1.* FROM T1, T2 WHERE
T1.業種 LIKE "*" & T2.業種 & "*" AND T1.住所 LIKE T2.住所 & "*"
;

※住所部分は前方一致にしてみました。


【抽出結果テーブル】の名前を「T3」、項目が「会社」「業種」「住所」とすると、

SELECT DISTINCT T1.* INTO T3 FROM T1, T2 WHERE
T1.業種 LIKE "*" & T2.業種 & "*" AND T1.住所 LIKE T2.住所 & "*"
;


※使えるものなのかは、やってみてください。

間違ってたらごめんなさい。


※ DISTINCT の使い方をヘルプ等で確認してみてください。
(重複うんぬんの時に便利かも)
    • good
    • 0

Like演算子で"*老人福祉施設北海道*"を使うと、連続して


「老人福祉施設北海道」を含むものしか抽出できませんが、
それでよいのでしょうか?
だとすると、「老人福祉施設青森県」では抽出結果2番目の
「特別養護老人ホームほのぼの荘特別養護老人ホーム青森県」は
"老人ホーム"≠"老人福祉施設"なので、抽出されません。

>重複削除がされていて欲しいです
1回のクエリ操作では実現できません。下記のような2回の操作に
なります。先ず「抽出」というクエリを作っておきます。
(1)抽出と抽出結果を結合し、一致するデータを抽出結果から削除
(2)抽出から抽出結果に挿入
但し、抽出と抽出結果に、1:1の関係がないと削除できません。
つまり、会社名業種住所が一意キーか重複を許さないインデックスに
指定されている必要があります。

また、SQLとしてはWHERE句ではなくJOIN句に指定する方が自然ですが、
JOIN句でLike演算子を使う場合は直接SQLを書き込むしかありません。

もし、業種と住所が別フィールドであるとかの事情があれば補足して下さい。
    • good
    • 0

追加クエリまたはテーブル作成クエリで【テーブル1】と【抽出条件テーブル】を連結なしで使用



フィールド名:会社名業種住所
テーブル名 :テーブル1
抽出条件  :Like "*" & [抽出条件テーブル].[業種住所] & "*"
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAccess2007初心者です。 データの抽出についてお願いします。

Access2007初心者です。 データの抽出についてお願いします。

現在、受注フォームを作っています。 受注フォームの中にある作成日を使って月次の集計を行いたいと思っています。 受注フォームの中に期間を設定する枠を作って検索をかけると一定期間のデータを抽出できないでしょうか。また、その抽出されたデータをレポートで印刷することは可能でしょうか?

受注フォームの作成日はテキスト形式です。

よろしくお願いいたします。

Aベストアンサー

1.メニューフォームには基準日と月初日のテキストボックスと[受注一覧表]を開くボタンを
を配置します。

2.RPT受注一覧表をデザインビューにし、
これのプロパティーシートのレコードソース右端をクリックしてクエリビルダを起動します。

3.レポートに必要な項目を下段のフィールドに移動します。

4.作成日の抽出条件に次行を記述します。
>=[forms]![メニュー]![月初日] And <=[forms]![メニュー]![基準日]

追伸 日付関係のデータ型を日付/時刻型にすると
月初日、月末日は基準日より次式で求めることが出来ます。
月初日=基準日-day(基準日)+1
月末日=月初日+35-day(月初日+35)
 


人気Q&Aランキング