一つのテーブルの複数のフィールドから抜き出す方法について

例えば下記のようなテーブルがあったとします。

      1     2     3     4
A商店  りんご   みかん   バナナ
B商店  みかん   イチゴ   くり    パイナップル
C商店  イチゴ   パイナップル バナナ
D商店  イチゴ   バナナ   りんご

のようなテーブルがありフィールド1~4いずれかにみかんを含むクエリーを作成し次のような結果をACCESSで作成したいのですが、簡単な方法はあるのでしょうか?

      1     2     3     4
A商店  りんご   みかん   バナナ
B商店  みかん   イチゴ   くり    パイナップル

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

尚、使用しているデータベースはACCESS2000です。

A 回答 (2件)

SQL文のWHERE句で


[1]='みかん' OR [2]='みかん' [3]='みかん' OR [4]='みかん'
と書くしかないのではないでしょうか?
とはいえ、QBE上で1段ずつずらして記入するだけの話ですが、、
    • good
    • 0
この回答へのお礼

ありがとうございました
クエリーのデザインのところでORをとればいいのですね

お礼日時:2001/02/15 22:22

クエリーに"[みかん]="[1]and[2]and[3]and[4]""という


フィールドを追加して抽出条件に"like="*みかん*""
というのを作成したら出来ないでしょうか?
    • good
    • 0

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

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

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

Q選択クエリーで 2つのテーブルの項目が Null どうしのデータを抽出するには?

初心者です、教えてください。

テーブルが、2つあって
テーブル名: T1 T2
フィールド1: A1 B1
フィールド2: A2 B2
フィールド3: A3 B3
とあった時、選択クエリーで T1 と T2 のフィールドの A1-B1、A2-B2、A3-B3 が、
一致したものを表示するクエリーを作成します。
でも、A2、A3、B2、B3のデータ中には、それぞれ Null値が入っていて、
A2-B2、または、A3-B3 が、Nullどうしなら、一致とみなして、表示するには、
どうしたらいいのでしょうか?

Nullのみどうしのデータで、Nullのフィールドを
除いた選択クエリーをつくって、あとで合わせてもいいのですが、
実際のテーブルは、そういうフィールドが、いっぱいあって、大変なんです。

簡単に表示する方法は、あるでしょうか?

初心者なのでむずかしいことは、
やったことがなくて、すいませんが、わかる方がいらっしゃたら、お願いします。

Aベストアンサー

MS|ACCESSは持ってないので正確ではないかもしれませんが
。あっ、その前に表示させるときリストボックスで表示させるのかフォームで表示させたいのか書かれたほうがアドバイスが増えるかもしれません。

取り敢えず、書式タブの規定値を'0'にすればいいかも。
詳しいことは以下を参考にしてください。

参考URL:http://ac.accessclub.jp/beginer/cd/part_07.htm

QAccessのテーブルフィールド属性の抽出

Access2003で作成したデータベースで、各フィールド(IDや名前、住所など)の属性(数値型といったデータ型やさらなる詳細(「標準」「ルックアップ」で設定できる内容)、長整数型、値要求「いいえ」など)を一度に抽出することはできないでしょうか。

よろしくお願いします。

Aベストアンサー

抽出というのがどういう形を希望しておられるのか分かりませんが
[ツール][解析][データベース構造の解析]で
フール止め意、データ型、サイズ、プロパティー、インデックス名、フィールド、プロパティーなどをレポートに出すことならできます

QAccessのテーブル内のフィールド数

教えて下さい。

Access2003(2007)では、テーブル内のフィールド数が最大255となっていますが最大フィールド数255以上ある、Accessと同じようなものはあるのでしょうか?(OpenofficeのBase等)

他DBからテーブルをリンクテーブルで貼り付けているのですがフィールド数が255以上あり取り込み先のAccessではフィールド数をすべて表示できない状態です。

よろしくお願いします。

Aベストアンサー

MySQLは実質、項目数の制限がありません(サイズによる制限はあるが)。

ACCESSで255項目以上を扱う場合はテーブルを分けるしかないと思います。それに項目数が無制限だとしても1テーブルに100項目程度くらいにしたほうがいいですね。そのほうが管理しやすいと思います。

QAccessでテーブルの文字列フィールドを連結する

次のようなフィールドが2列のデータがあります。

1:りんご
1:みかん
1:バナナ
2:みかん
2:ぶどう
3:りんご
3:バナナ

それを

1:りんご、みかん、バナナ
2:みかん、ぶどう
3:りんご、バナナ

とクエリーでまとめたいのですが
どのようにしたらよろしいでしょうか?

Aベストアンサー

SQLだけでは難しいですね。
パフォーマンスは保証できませんが、オリジナル関数を作るしかないでしょう。

FruitTBL

ID FName
1 りんご
1 みかん
1 バナナ
2 みかん
2 ぶどう
3 りんご
3 バナナ

とすると、


標準モジュールに
Option Compare Database
Option Explicit


Public Function GetNames(lngID As Long, strDel As String) As String
Dim rs As New ADODB.Recordset
Dim strSQL As String
Dim strRet As String


strSQL = "SELECT FName FROM FruitTBL WHERE ID = " & CStr(lngID)
rs.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

strRet = ""
Do Until rs.EOF
strRet = strRet & rs.Fields(0).Value & strDel
rs.MoveNext
Loop

strRet = Left(strRet, Len(strRet) - Len(strDel))
rs.Close
Set rs = Nothing

GetNames = strRet

End Function


クエリーで

SELECT ID, GetNames(ID,",") AS Name
FROM FruitTBL
GROUP BY ID



こんなのでいかがでしょうか?
意味があるかは分かりませんが、テーブル名などもパラメータに
出来なくもないので工夫してください。

バージョンが分からなかったので適当ですが…。

SQLだけでは難しいですね。
パフォーマンスは保証できませんが、オリジナル関数を作るしかないでしょう。

FruitTBL

ID FName
1 りんご
1 みかん
1 バナナ
2 みかん
2 ぶどう
3 りんご
3 バナナ

とすると、


標準モジュールに
Option Compare Database
Option Explicit


Public Function GetNames(lngID As Long, strDel As String) As String
Dim rs As New ADODB.Recordset
Dim strSQL As String
Dim strRet As String


strSQL = "SELECT FName FROM ...続きを読む

Qエクセル・ピボットテーブルのフィールドリストが出ない

こんにちは。
XPで Office2003を使っています。
EXCELLのピボットテーブル作成時に、どうしてもフィールドリストが表示されないのです。
ピボットツールを表示して、フィールドリストを「表示する」に設定しても、やはり出ません。たいへん困っております。教えてください。

Aベストアンサー

ピボットテーブルのフィールドリストが画面外に出てしまっているのではないでしょうか。
タスクバーの高さを2段にしてから元に戻すとか、ディスプレイの解像度を変えてから元に戻すと出てくるかもしれません。


人気Q&Aランキング

おすすめ情報