Microsoft Access ClubAccess超初心者対象ForumAccess初級者対象ForumAccess初・中級者対象ForumAccess VBA Tips ForumDAO、ADO、SQL Forum

     

No30101.クエリのNot演算子について教えていただけませんか

タイトルクエリのNot演算子について教えていただけませんか
記事No: 30101
投稿日: 2005/02/07(Mon) 14:58
投稿者: 樫田 修
OS:xp
Access Version:2000
Not演算子を使用して条件検索を行う場合どのように書けばいいか教えていただけませんか
例 東京都のみを除く場合は以下で出来ますが
Not Like "東京都*"
大阪も同時に除く場合は
Not Like "東京都*"AndNot Like "大阪府*"では無理なので

タイトルRe: クエリのNot演算子について教えていただけませんか
記事No: 30103
投稿日: 2005/02/07(Mon) 15:12
投稿者: クロ
> Not Like "東京都*"AndNot Like "大阪府*"では無理なので
無理じゃないのでは?
AndとNotの間に半角スペース入れてもダメですか?

タイトルクエリのNot演算子をテーブルに作成しておいて結合も出来ますか
記事No: 30106
投稿日: 2005/02/07(Mon) 15:52
投稿者: 樫田 修
> > Not Like "東京都*"AndNot Like "大阪府*"では無理なので
> 無理じゃないのでは?
> AndとNotの間に半角スペース入れてもダメですか?

解決いたしましたありがとう御座います。
次に除きたい県名をテーブルに作成しておいてクエリで結合させることも出来ますか
よろしくお願い致します

タイトルRe: クエリのNot演算子をテーブルに作成しておいて結合も出来ますか
記事No: 30107
投稿日: 2005/02/07(Mon) 15:59
投稿者: クロ
> 次に除きたい県名をテーブルに作成しておいてクエリで結合させることも出来ますか
意味が分かりません?

タイトルRe^2: クエリのNot演算子をテーブルに作成しておいて結合も出来ますか
記事No: 30109
投稿日: 2005/02/07(Mon) 16:52
投稿者: 樫田 修
> > 次に除きたい県名をテーブルに作成しておいてクエリで結合させることも出来ますか
> 意味が分かりません?

Not Like "篠山市*" And Not Like "和歌山市*"で解決いたしましたが、私のレベルだったら無理かもわかりませんが、抽出条件のところにいちいち記入するのではなく不一致市町村をテーブルに作成しておいて、そこに記入することによって、不一致市町村を検出されないように出来るのですか、よろしくお願い致します。

タイトルRe^3: クエリのNot演算子をテーブルに作成しておいて結合も出来ますか
記事No: 30112
投稿日: 2005/02/07(Mon) 17:08
投稿者: とおりすがり
こんにちは。
>私のレベルだったら無理かもわかりませんが、
 拗ねてるように聞こえますよ(笑)
 無理じゃないですよ。。
 早くレベルを上げられるようにみんなでがんばりましょう。

>抽出条件のところにいちいち記入するのではなく不一致市町村をテーブルに作成しておいて、
>そこに記入することによって、不一致市町村を検出されないように出来るのですか、
(適当に改行して書いてもらえると、こちらも読みやすいです。)

現在どのように動かしておられるのでしょう?
テキストボックスに入力されているのでしょうか?
きっと、コンボボックスみたいなものをいくつかフォームに配置して、
そこで選択した都道府県のものは検索されないようにしたい、
ということでしょうか?

それと、私も昔、別の掲示板で言われたことがあるのですが、
ひとつのスレッドには、ひとつの質問、というのが原則なのでは?と思います。
ですので、今回の書き方
>解決いたしましたありがとう御座います。
>次に除きたい県名をテーブルに作成しておいてクエリで結合させることも出来ますか
>よろしくお願い致します
は、「ついでに次もお願い」、みたいな風に取られて、
受け取る側がちょっといやな気分になるので、レスがつきにくいし損だと思いますよ。

新参者がうるさくいってしまって
気分を害されたならすみませんでした。

タイトルRe^3: クエリのNot演算子をテーブルに作成しておいて結合も出来ますか
記事No: 30114
投稿日: 2005/02/07(Mon) 17:18
投稿者: クロ
> > > 次に除きたい県名をテーブルに作成しておいてクエリで結合させることも出来ますか
> > 意味が分かりません?
>
> Not Like "篠山市*" And Not Like "和歌山市*"で解決いたしましたが、私のレベルだったら
> 無理かもわかりませんが、抽出条件のところにいちいち記入するのではなく不一致市町村をテー
> ブルに作成しておいて、そこに記入することによって、不一致市町村を検出されないように出来
> るのですか、よろしくお願い致します。

クエリを最終的にフォームに表示するとか、このクエリをアクションクエリ(テーブル作成/追加/削除クエリなど)に
するとかでしたら、VBAで回して変数(この場合は篠山市とか和歌山市とか)を代入して行き...
フォームに表示でしたらフォームの開く時のイベントでレコードソースにするとか...
アクションクエリでしたらDocmd.RunSQLかExecuteでクエリを実行させるとか...
になるかと思います。

あるいはリストボックス(値集合ソースは「不一致市町村テーブル」)で複数選択を可能にして
同様にVBAで回すとか...

タイトルRe^3: クエリのNot演算子をテーブルに作成しておいて結合も出来ますか
記事No: 30117
投稿日: 2005/02/07(Mon) 17:38
投稿者: hatena
例えば、

テーブル1
------------
ID (主キー)
住所  (テキスト型)


除外地名(テーブル)
------------
地名  (テキスト型)

として、テーブル1 よりクエリを作成して、

ID フィールドの抽出条件に下記のように記述します。

Not In (SELECT テーブル1.ID
FROM テーブル1, 除外地名
WHERE テーブル1.住所 Like "*" & 除外地名.地名 & "*")

タイトルRe^4: クエリのNot演算子をテーブルに作成しておいて結合も出来ますか
記事No: 30119
投稿日: 2005/02/07(Mon) 17:46
投稿者: hatena
> Not In (SELECT テーブル1.ID
> FROM テーブル1, 除外地名
> WHERE テーブル1.住所 Like "*" & 除外地名.地名 & "*")

上記は、部分一致を除外することになりますが、
元質問は、Not Like "東京都*" ということでしたので、
前方一致を除外するので、

Not In (SELECT テーブル1.ID
FROM テーブル1, 除外地名
WHERE テーブル1.住所 Like 除外地名.地名 & "*")

ですね。


このAccessフォーラム過去ログ集は、Microsoft Access Club が運営しています ---

 

ページの先頭へ 前ページへ戻る