• 締切済み

複数の文字列検索について

VBというよりも、accessで利用したいのでVBAになるかと思いますが、 ある項目について文字列検索をしたいのですが、 001:"aaa" 002:"bbb" 003:"ccc" ・ ・ 100:"zzz" ※SELECT hoge FROM geho WHERE あああ Like "*%%%*"     ***%%%の値を個数分かえたい*** といったように複数パターンあり、クエリの条件節に記述できない状態です。 フォームを作成し、リストボックスに値を格納するところまではできたんですが、 その値を取得して、変数に格納することができません。 ヘルプではItemsSelectedを利用すればいけそうな感じでしたが、 使用例をはりつけて試してみてもエラーになります。 access97なので使えないメソッドだったりするんでしょうか? 何かよい知恵ももってらっしゃる方いらっしゃったらご教授願います。

みんなの回答

回答No.2

何を質問したいのかがわかりません。 目の前の人に質問するんだって何に困っていてヒントをもらいたいのか、はっきり質問しますよね。 ある時にリストボックスに不特定多数の値が入るっていうフォームで、 リストボックスに入っている全ての値を検索条件に入れる SQL を発行したい。(AND なのか OR なのかは質問者の頭の中にのみ存在しているので私には想像できませんが) っていう状況? で、困っているのは何? キーワードが不特定多数なので静的にクエリやパラメータ クエリを使えないが、どうしたらいいのか困っている。 てこと? それとも SQL の質問じゃなくて、リストボックスの全ての値を取得することができなくて困っているってこと?

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

提示された例では条件が良くわからないけど、 普通に考えれば WHERE (あああ Like "*aa*")  OR (あああ Like "*bb*") とかをまず考えるのでは?

関連するQ&A

  • 文字列を改行で区切り配列に格納したい

    データをプログラムに明記し、プログラムで いろいろ加工したり処理をしたい場合ですが、 例えば、 Dim hairetu(10) As String hairetu(0) = "aaa" hairetu(1) = "bbb" hairetu(2) = "ccc" 途中省略 hairetu(10) = "zzz" これをイメージとして以下のように行う方法はありますでしょうか あくまでもイメージとしてです。 Dim mojiretu As String Dim hairetu(10) As String mojiretu="aaa\nbbb\nccc\n途中省略zzz" ← hairetu=mojiretuを”\n”で区切り順次配列に格納する ←は、mojiretu="aaa bbb ccc 省略 zzz"  のようなイメージです。 よろしくお願いします

  • SQL 複数条件を設定

    使用言語はjavaで処理しており、 SQL Server2005にて下記のようなテーブル(T_Kekka)があります。    ID   a-1   a-2   b-1   b-2   c-1   c-2     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄    1   bbb   aaa   ddd    ccc   eee   fff       2   ggg   bbb   ccc     hhh   iii    jjj       3   bbb   mmm   ddd   ccc   fff    eee       4   bbb   aaa   ccc    ddd   qqq   rrr       5   zzz   sss   ttt     ccc   vvv   xxx       6   zzz   aaa   ttt     ccc   vvv   fff       7   zzz   zzz   zzz     zzz   zzz    zzz       8   qqq   rrr   ccc     ddd   fff    eee    検索する値は下記の通りです。 検索値 |a-1|a-2|b-1|b-2|c-1|c-2|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |aaa|bbb|ccc|ddd|eee|fff| 期待値としては、aはaのグループで検索、bはbのグループで検索、cはcのグループで検索をし、 一致個数の多い順に出力したいと考えております。(理想は下記のような感じです。) また、グループ内であれば逆転していてもOKです。 (例えばID:1のaグループのような感じです。) *1 一致数が同じ場合はcグループの数が多いデータが最優先となり、その他はID順になります。 期待値    ID   a-1   a-2   b-1   b-2   c-1   c-2   一致数  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄    1   bbb   aaa   ddd   ccc   eee   fff     6    3   bbb   mmm   ddd   ccc   fff    eee    5    8   qqq   rrr    ccc   ddd   fff    eee    4・・・*1    4   bbb   aaa   ccc   ddd   qqq   rrr     4    6   zzz   aaa   ttt    ccc   vvv    fff     3    2   ggg   bbb   ccc   hhh   iii     jjj      2    5   zzz   sss   ttt    ccc   vvv    xxx     1    7   zzz   zzz   zzz    zzz   zzz    zzz     0 知識不足のため私には複雑すぎて悩んでいる状況なので、 どなた様か知識がある方にご教授願いたく思います。 また、まだテスト段階なので現状のようなテーブル構造にしてしまいましたが、 他のテーブル構造の方がデータが抽出しやすかったり、レスポンスがいい場合がありましたら、 ご教授いただけると助かります。 説明が分かりづらく表が見づらくて申し訳ございませんが、 宜しくお願い致します。

  • strcmp関数などでの複数の文字列の比較

    以下の例はランダムなiの値で文字列にアクセスして その文字列がどの文字列であるかを判定しているプログラムです。 char *string[] = {   "aaa",   "bbb",   "ccc", } ; int i = rand() % 3; if ( strcmp( string[ i ], "aaa" ) == 0 ) {   printf("aaaです"); } if ( strcmp( string[ i ], "bbb" ) == 0 ) {   printf("bbbです"); } if ( strcmp( string[ i ], "ccc" ) == 0 ) {   printf("cccです"); } するとこのようにif文の羅列になってしまいます。 (strstr関数を使う場合などでも同じような感じです。) 複数の文字列を判定する場合などにもっと良い手法は無いでしょうか?

  • perl について

    http://AAA/BBB/???/CCC AAAとCCCは固定文字です。 BBBは変化します。 ///の数・順番も固定です。 この状態で、「???」を抜き出してZZZ変数に値を代入するにはどうすれば良いでしょうか? ZZZ=

    • ベストアンサー
    • Perl
  • updata に失敗した時の返り値は??

    質問があるのですがよろしくお願いします。 PHP5で、 $res = $db->query("update AAA set BBB=1 where CCC=2"); などとした時、 where節で該当するレコードが一つもなく、updateに失敗した時、$resにはどのような値が返るのでしょうか?? またPHPの組み込み関数やPearによって、その$resから何か値を得ることは可能でしょうか?? どなたか分かる方いらっしゃいましたらご教授頂けると幸いです。

    • ベストアンサー
    • PHP
  • 行数ごとに検索をかけて並び替えをしたいのですが・・

    数千のファイル名が書かれたテキストファイルがあります。(Aとします。) /yyy/ccc.txt /aaa/aaa.txt /bbb/bbb.txt /sss/aaa.txt /ccc/bbb.txt /zzz/ccc.txt ・ ・ ・ ユニークファイル名だけ書かれたファイルがあります。(Bとします。) aaa.txt bbb.txt ccc.txt ・ ・ ・ Bの行数1行ずつAで検索をかけ、ファイル名を新しいファイル(Cとします)に書き出したいのです。 /aaa/aaa.txt /sss/aaa.txt /bbb/bbb.txt /ccc/bbb.txt /yyy/ccc.txt /zzz/ccc.txt ・ ・ ・ シェルを使ってやりたいのですが、どのようにすればいいのか見当もつきません。 どなたかお分かりのかたいましたら教えてください。よろしくおねがいします。

  • Wordで複数行の文字列を罫線で囲みたい

    WindowsXP,Word2003を使用しています。 以下のような文字列があったとします。  番号 内容 備考  1  AAA  XXX  2  BBB  YYY  3  CCC  ZZZ これを罫線で囲みたい(4行3列の罫線で囲みたい)のですが、どうすればよいのでしょうか? すべて選択して、「罫線」→「挿入」としても横線だけ入り、枠に囲まれません。 よろしくお願いします。

  • 文字列分割

    カンマを含む項目があります。カンマまでの文字列を抽出したいです。なお、カンマの個数は未定です。 例えば A aaa,bbb,ccc ↓ P Q R aaa bbb ccc ※A,P,Q,Rは項目名 となるような、テーブルを作成したいです。(select結果でもよいです。) どうか、ご教授お願いします。

  • Accessの文字列部分一致を合計する関数

    お世話になっております。 Access2003の関数で教えてください。 Acces2003のクエリで、 「同じフィールド内で文字列が部分一致した場合、新しいフィールドに 別のフィールドにある数値を合計する、部分一致しない場合は合計せず、 そのままの数値を表示する」 という関数を設定したいと思っております。 具体的に記載しますと、 在庫テーブルがあり、 商品コード 在庫  aaa      10 bbb      20 ccc      15 ddd      30 aaa-1    40 bbb-1    25 ddd-1    20 というデータが入力されております。 この在庫テーブルから新しいクエリで、新しく「在庫合計」フィールド を作成し、このフィールドに関数を用いて、 『「商品コード」フィールドの左3文字が一致した場合、「在庫」フィールドの 数値を合計する数値を表示させ、一致しない場合は合計せずそのままの 数値を表示する』 という形です。 クエリの実行結果としては 商品コード 在庫 在庫合計 aaa      10   50 bbb      20   50 ccc      15   15 ddd      30   50 bbb      5   50 aaa-1    40   50 bbb-1    25   50 ddd-1    20   50 という結果になり、商品コード「aaa」と「aaa-1」や「bbb」と「bbb-1」の「在庫合計」の値 は同じ値(「在庫」フィールドを合計した数値)が表示され、左3文字が一致したデータ がない「ccc」は15のまま、という結果です。 ※ただ、商品コードに重複がございます。(上記例でいうと商品コードが「bbb」です。) 当方VBAは使えないので、クエリで行いたいと思っております。 Accessで難しければExcelの関数でも構いません。 当方初心者ですので、不足な情報がございましたら加筆いたします。 どうぞよろしくお願いいたします。

  • エクセルのマクロ【複数検索&検索結果の合計】

    以下のように 【sheet1】にA列B列からなるデータにおいて A列の内容が同じものどうしのB列の値を合計し その結果の大きい順に並べて 【sheet2】に出力するマクロを 作りたいのですが、どうしたらよいかわかりません。 どなたかお分かりになる方いらっしゃいましたら 教えて頂きたくお願い致します。 【sheet1】   A列    B列 aaa 5 bbb 4 aaa 3 aaa 2 ccc 89 bbb 100 【sheet2】 A列 bbb 104 ccc 89 aaa 10

専門家に質問してみよう