No.3ベストアンサー
- 回答日時:
品物に含まれるのが2つ以下限定ならできますね
先ずクエリで品物を2つのフィールドに分けます
前: IIf(InStr([品物],";")<>0,Left([品物],InStr([品物],";")-1))
後: Mid([品物],InStr([品物],";")+1)
注文番号 品物 前 後
1りんご;みかん りんご みかん
2たまご たまご
3みかん;たまご みかん たまご
このクエリからユニオンクエリを作成します
SELECT sutonaQ.注文番号, sutonaQ.前
FROM sutonaQ
WHERE (((sutonaQ.前) Is Not Null))
union
SELECT sutonaQ.注文番号, sutonaQ.後
FROM sutonaQ
WHERE (((sutonaQ.後) Is Not Null))
注文番号 前
1 みかん
1 りんご
2 たまご
3 たまご
3 みかん
No.2
- 回答日時:
Likeが使えないとなると区切り文字で分解してひとつずつ比較するようなVBAコードを組むしかないですね
当然クエリは使えません、VBAで1レコードずつ処理していくことになります
テーブルがデータベースの原則を外しているのですから面倒なことになるのは自業自得です
回答ありがとうございます。
VBから参照するので、ロジックを組むのは構わないのですが、
実際はフィールドが複数存在し、抽出条件も複数あるため、なるべくSQLで処理を共通化できたら良いなあと思っていた次第です。
Likeで抽出して、抽出したものに問題がないかあとからチェックをかけるのが一番シンプルなのでしょうかね。
クエリ等で複数値をばらせることができる方法があれば、
良いのですが・・・。
注文番号 品物
1 りんご
1 みかん
2 たまご
3 みかん
3 たまご
こんな感じに変更できれば、一番良いのですが、
何か方法はないでしょうか。
No.1
- 回答日時:
以下のSQLを試してみてください
--------------
select
注文番号
,品物
from テーブル名
where 品物 Like "*みかん*"
--------------
補足
欠点は、商品名に「みかんジュース」なんかがあった場合もひっかかることです。
解消するにはテーブルに項目を追加し、
注文番号、注文毎明細番号、品物
などの構成にするとよいでしょう。
SQLで対応できなくもないですが鬱陶しい条件になります。
回答ありがとうございます。
テーブルの構成と内容は私が決めることができないので、
「みかんジュース」がひっかかるとなるとワイルドカードを使用するのは難しいです。
少々鬱陶しくても確実に「みかん」が含まれている行を取り出したいのですが、何か方法はないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- オンラインゲーム VCTmastersTOKYOのチケット購入方法について 上の通り、VCT TOKYOのチケットにつ 1 2023/04/06 22:47
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
[Access]異なるレコード間の文...
-
Accessでのレコード存在チェック
-
vba 直前の操作はキャンセルさ...
-
電話番号の局番と住所の検索に...
-
質問です。 下記のテーブルとデ...
-
条件をつけて日付の古い行を抜...
-
【アクセスVBA】テーブルにフィ...
-
Recordset.FindFirstについて
-
最新の日付とその金額をクエリ...
-
アクセスで「空き番」の確認
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
SQL文で右から1文字だけ削除す...
-
MERGE文を単体テーブルに対して...
-
レコードが存在しなかった場合
-
select句副問い合わせ 値の個...
-
GROUP BYを使ったSELECT文の総...
-
ファイル書込みで一行もしくは...
-
ADO VBA 実行時エラー3021
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
access 自動採番 年が変わる...
-
最新の日付とその金額をクエリ...
-
Accessでのレコード存在チェック
-
アクセスで「空き番」の確認
-
【アクセスVBA】テーブルにフィ...
-
[Access]異なるレコード間の文...
-
access 自動採番 「10-AA-000...
-
Accessで日付が変わると番号が...
-
【Access】選択クエリのグルー...
-
Access:抽出して、色をつけたい。
-
条件をつけて日付の古い行を抜...
-
質問です。 下記のテーブルとデ...
-
vba 直前の操作はキャンセルさ...
-
【SQL】existsでの商演算
-
Access 文字+年ごとの自動採番
-
sqlで質問です。 Aテーブルの登...
-
ACCESSでの行番号の自動採番
-
Accessで自前の自動採番処理で...
-
主キーの選び方
おすすめ情報