とても基本的だと思う質問ですが、抽出・除外の設定がうまく出来ず、結局、該当データを手で削除しなかればならないことが続いていおり、良い方法をご教授いただけると嬉しいです。
例えば、同窓会名簿(テーブル名)から、渋谷区、品川区に住んでいる40期生と43期生の女性で絞り込みます。但し、渋谷区青山1丁目に住んでいる人を除外したい場合、どのように除外条件を記入すれば良いのでしょうか。このようなケースの抽出を何度かやってみたのですが、最初の抽出条件が優先されて、一部を除外した上での抽出ができません。
青山一丁目は以下のデータで出来ています
→フィールド名「町」:青山
フィールド名「番地」:一町目
まず、〔抽出条件〕の行に以下のように入力してデータを抽出しています。
フィールド名「区」:”渋谷区” or "品川区"
フィールド名「期」:”40” or "43"
フィールド名「性別」:”女”
次に、除外の条件を、〔または〕の行に入れとしたらどのように入れるのでしょうか。それとも〔抽出条件〕で既に<>” ” 等を使って除外出来るのでしょうか。
過去の質問を見てみたのですが、重複データを除いたり、<>(当てはまらない)データを抽出する例は沢山記載が有るのですが、一部の条件だけ合わないデータを除いて抽出する方法に似た質問が見つけられませんでした。
どうぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
同窓会名簿テーブルに主キーに相当するモノが有れば・・と仮定して。
そのフィールド名を仮に『ID』とします。
渋谷区青山一丁目を含む渋谷区、品川区に住んでいる40期生と43期生の女性
を抽出するクエリを作成します。
クエリ名は仮に『Q1』とします。
除外したい渋谷区青山一丁目に住む人だけを抽出するクエリを作成します。
クエリ名は『Q1x』。
最後にQ1を元にもう一個新たなクエリを作成。
フィールド:ID |区|期|・・・・
テーブル:Q1 この辺は分かると思うので省略
並べ替え:
表示:レ
抽出条件:Not In (select ID from Q1x)
では?
ありがとうございました。
確かに、同姓同名の方が出てくる可能性もありますよね…そこも考えていませんでした(*_*)
とにかく代々色々な方々が、規則性なくデータ入力されていたので、整えるのが大変ですが、教えて頂いたことを参考に直して使いやすくしたいと思います。
No.3
- 回答日時:
以下の内容で、クエリのSQLビューに記述して表示はどのようになりますか
SELECT * FROM 同窓会名簿 WHERE
(
区 IN ("渋谷区", "品川区")
AND
期 IN (40, 43)
AND
性別 = "女"
)
;
表示がうまくいったらデザインビューにして、
どのような設定になるのか確認してみてください
(期 は数値型と想定:テキストなら ("40", "43") に変更)
> フィールド名「区」:”渋谷区” or "品川区"
これは、区 = "渋谷区" OR 区 = "品川区" ですが
区 IN ("渋谷区", "品川区")
でも同じことになります
この状態から、
区="渋谷区" かつ 町="青山" かつ 番地="一町目"
区="渋谷区" AND 町="青山" AND 番地="一町目"
じゃない人を条件に加えてみると
SELECT * FROM 同窓会名簿 WHERE
(
区 IN ("渋谷区", "品川区")
AND
期 IN (40, 43)
AND
性別 = "女"
)
AND NOT
(
区="渋谷区" AND 町="青山" AND 番地="一町目"
)
;
の様に、かつ AND、じゃない人 NOT の指定で追記してみます
表示してみて良いようなら、デザインビューでの設定を確認してみます
※ デザインビューでの記述は苦手です
ありがとうございます!説明文付きで文を読むと、すごく分かります!!いつも、クエリをデザインビューで作っては、SQL表示で見てみたりしていたのですが、自分で作ったものにもかかわらず??の時が……
名簿のデータは引き継がれていくものだと考えたら、やはり、主キーを取って、必要に応じて順番にクエリを組む方が、私よりもっと不得手の人が引き継いだ時に分かりやすいのかなと思い、ベストアンサーは、別の方にさせていただきました(>_<)
教えて頂いた設定は、自分自身の仕事にもとても役立つと思いますので、活用させていただきます!
No.2
- 回答日時:
主キーは設定しときましょう。
このようなマスターテーブル(変更などがあまり無いモノ)的な場合は
今後の処理(一意のレコード指定)が非常に楽になります。
同姓同名の人が加入するかもしれないしね。
ひとつのクエリ(SQL文)で出来なくもないですが
自由に使うにはちょっと(めっちゃ)辛いだろうと思います。
前述のように段階を追ってクエリを作成すれば
確認も容易なので・・・と考えた次第です。
『Access サブクエリ』でWEB検索すると
http://www.accessclub.jp/sql/20.html
この辺がとっかかりになるのでは?と思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- その他(Microsoft Office) Excelの関数(FILTER関数)について教えてください 2 2023/07/31 16:11
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- Access(アクセス) accessの日付フィールドから前年度だけを取り出したい 3 2022/04/13 23:13
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessの日付フィールドから前...
-
ACCESS クエリの抽出条件に他の...
-
ACCESS 「パラメータの入力」...
-
アクセス・クエリの抽出条件(...
-
最大値以外の抽出方法
-
PCゲームから音声ファイルを抽...
-
ACCESSのクエリで抽出条件「ま...
-
Excel表について(1)
-
Accessで任意のテーブルのフィ...
-
ACCESSの時間帯の抽出について
-
Access 2003 iif [日付フィール...
-
元データから連続5日以上だった...
-
アクセスでの抽出方法(日付+時...
-
Access テーブルを分割してエク...
-
accessについて
-
ACCESSのクエリで集計
-
Access 抽出した重複データを一...
-
Accessで「式で型が一致しません...
-
白ロム au iphone5 をネット接...
-
マウスクリックでカウント、簡...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 「パラメータの入力」...
-
ACCESSのクエリで抽出条件「ま...
-
ACCESS クエリの抽出条件に他の...
-
ACCESSの時間帯の抽出について
-
アクセス・クエリの抽出条件(...
-
Access テーブルを分割してエク...
-
エクセルのマクロで検索・抽出...
-
accessの日付フィールドから前...
-
PCゲームから音声ファイルを抽...
-
最大値以外の抽出方法
-
access クエリの抽出条件を入れ...
-
アクセスでの抽出方法(日付+時...
-
Accessクエリーでチェックボッ...
-
クエリの進行状況を知りたい。
-
ACCESS クエリで”1”でないもの...
-
ACCESS クエリの抽出条件を動的...
-
ACCESSのクエリで集計
-
Accessで「式で型が一致しません...
-
元データから連続5日以上だった...
-
アクセスのクエリで空白データ...
おすすめ情報
ありがとうございます!アクセスへの直接入力でデータが作成されていた上、主キーがなかったので、教えて頂いた方法に思い至りませんでした!!ちなみにですが、新たなクエリを作らず、「抽出条件」「または」の行だけを使って抽出するのはとても難しいのでしょうか。(vba全文?を自分で書くのはまだまだ不得手です。)