Accessでフィールド文字列内の特定のキーワードから分類・編集する方法

このQ&Aのポイント
  • Accessでフィールド文字列内の特定のキーワードから分類・編集する方法についてご教授ください。
  • 編集するクエリを作成する方法や、特定のキーワードで分類する方法について教えてください。Accessのテーブル内の文字列から特定のキーワードを抽出し、それに基づいて分類や編集を行いたいです。
  • Accessのフィールド文字列内にある特定のキーワードから分類や編集を行う方法を知りたいです。具体的には、テーブル内の名前や備考に含まれるキーワードを抽出し、それに基づいて分類コードを付けたり、出力を編集したりしたいです。
回答を見る
  • ベストアンサー

Accessでフィールド文字列内の特定のキーワードから分類・編集する方法

言葉で説明すると、長くて分かりにくいと 思いますので、図を作成してみました。 以下のテーブルがあったとした場合、 名前| 備考 -------------------- MMM |PC所有 WWW |携帯所有 XXX |パソコン所有 NNN |PHS所有 この様な形で編集・出力するクエリを 作成するには、どのようにすればよいでしょうか? 名前| 備考    | 分類コード ------------------------ MMM |PC所有 | 1 WWW |携帯所有 | 2 XXX |パソコン所有 | 1 NNN |PHS所有 | 3 ご存知の方がいらしたら、お教え願います。

  • su-ta
  • お礼率54% (128/234)

質問者が選んだベストアンサー

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

> フィールドの文字列に含まれるキーワードを参照し、 > 指定したキーワードが含まれていたら > それぞれにあった変数を返す、という事は > 可能でしょうか? この「指定したキーワード」というのはいくつぐらいあるのでしょうか? 数個ならば、IIF 関数と InStr 関数を使ってやれば大丈夫だと思います。 数が多いのなら、式がかなり長くなってしまいますので、ユーザー定義関数を 作成してやった方がいいと思います。

その他の回答 (1)

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

分類コード|内容 1    |PC所有 1    |パソコン所有 2    |携帯所有 3    |PHS所有 のようなテーブルを作成しておいて、クエリで結合してやれば 大丈夫だと思います。

su-ta
質問者

お礼

回答ありがとうございます。 ごめんなさい、説明が足りませんでした。 フィールドの文字列に含まれるキーワードを参照し、 指定したキーワードが含まれていたら それぞれにあった変数を返す、という事は 可能でしょうか? イメージとしては、こんな感じです。 1:以下のテーブルがあったとする。 名前| 備考 -------------------- MMM |起動数秒後、PCが落ちる WWW |携帯画面でエラーが発生する XXX |パソコンを落としてエラー画面表示 NNN |PHSで音が鳴らない 2:「備考」内にあるキーワードが含まれていたら、以下の変数を返す。 PC or パソコン:1 携帯:2 PHS:3 落ちる:A エラー:B 鳴らない:C 3:「障害が発生した機器」+「事象」を   組み合わしたものをコード化してクエリで表示。 名前|現象 -------------------- MMM |1A WWW |2B XXX |1B NNN |3C この一連の流れを行うにはどのように すれば良いでしょうか? ご存知の方がいらしたら、お教え願います。

関連するQ&A

  • ACCESS2000 テキストフィールドの一括化

    ACCESS2000で経理関係のDBを作成中です。入力テーブルの構造はおおよそ下記のとおりです。 フィールド1:科目コード(数値型) フィールド2:金額(数値型) フィールド3:備考(テキスト型) 今、科目コードごとに集計するためのクエリー及びレポートを作ろうと思っていて、金額の合計はできるのですが、備考欄も科目コード単位でまとめたいと思っています。どうすればよいのでしょうか。 (テーブル)       科目コード 金額 備考 レコード1:11    100 AAAAA レコード2:11    200 BBBBB レコード3:12     50 CCCCC レコード4:12    500 DDDDD            ↓ 集計(クエリ、レポート)       科目コード 金額の合計 備考の列記       11    300     AAAAABBBBB       12    550     CCCCCDDDDD こんな感じです。 よろしくお願いいたします。

  • 文字列フィールドの集計をしたい

    [やっていること] このサイトで私が教えていただいた内容をデータベース化して保存しています。 [やりたいこと] ベストアンサーさんの「申告されているネーム」毎の集計を出したいと思っています。お名前は「数字・漢字・ローマ字」で申告されているものですが、お名前毎に合計をだしたいと思っています。それと、他のデータベースでも役に立てそうと感じている為。 [集計対象のテーブル] テーブル名:Access操作 フィールド名:NO、発生日、Accessテーマ、Access内容、Access項目、質問内容、アドバイザー、解決策、コマンド [やったこと] クエリを作成してフィールドに「NO」と「アドバイザー」をドラッグして、クエリフィールドの3列目に「式1: DCount("アドバイザー","Access操作")」を 記載しましたが、レコードの合計数字が表示されネーム毎の集計が出来ませんでした。 アドバイスをお願いします。

  • Access 分類分け クエリの作成方法について

    商品分類項目に野球 テニス サッカー等の項目が15以上あります。 その各項目にウエア シューズ グッズ 構成比率とあります。 テーブルを作成するときに構成比率 ウエア シューズ グッズ 分類IDとフィールドを作成し、項目事に分類IDを振り分けました。 野球販売高を算出するには売上高*野球構成比/100*0.5と計算します。 クエリでこれらを計算するには抽出条件で15項目のファイルを作成する必要がありますよね さらに計算する1項目につき1ファイル必要ですよね 算出するのは野球販売高だけではなく、テニス販売高、サッカー販売高 と項目事に必要です。 計算項目はこれ以外にも14あり、それらを上記の方法で算出するとファイル数が膨大になります。 Accessではクエリの数が数十個になるのは普通なのでしょうか?

  • Access テーブルを繋げたり、文字を抜き出したりしたい

    Access2003です。 Aテーブル Bテーブル Cテーブル 名前    ランク   備考 あああ   AAA     ABC いいい   BBB     DEF ううう    CCC     GHI えええ   DDD     JKH ※フィールド数は、各テーブルに1つのみ とあります。 これをクエリで編集したいのですが、行いたいことが2点 1)1文字挿入して繋げる AテーブルとBテーブルを繋げるのですが、間に1文字挿入したいです。 「あああ~AAA」 と、「~」を挿入 2)1文字だけ抜き出す Cテーブルの真ん中の1文字だけ抜き出す 1レコード目だと、「B」だけ抽出 基本的な操作かもしれませんが、出来ません。

  • 他テーブルの同フィールドを結合する方法

    お世話になります。 Access2000で教えてください。 下記のようなテーブル1,2があります。 このテーブル1,2をひっつけて、 テーブル3を作成したいのですが、 どのように作成すればよいでしょうか? 可能でしたら、クエリで、 説明しやすいのでしたら、SQLでも 結構ですので宜しくお願い致します。 ----------------------------------- テーブル1 名前  1着数 やまだ 3 ----------------------------------- テーブル2 名前 2着数 やまだ 1 ----------------------------------- テーブル3 名前 1,2着数 やまだ 4

  • Access97で文字の表示について

    会社でACCESS97を使っています、普段つかっているPCでテーブルを作成しクエリーをつくったものを他のPCで開いたところ「5/6」と表示されていたフィールド名が「5_6」と別の文字表示になってしまいクエリーを開いたときにこのフィールド名を使っていた項目の計算が実行されなくなってしまいました。 多分設定を替えればよいのだと思うのですが、どこをいじればよいでしょうか? 宜しくお願いします。

  • アクセス2003のルックアップ列について

    どうしてもわからない事が出てきましたので、教えて頂きたいと思います。 テーブルを作りましたが、自分がやりたいようにルックアップする設定方法がわかりません。 <テーブル1> ・・・ 区分 名前  ・・・ ・・・ 1  あうお ・・・ ・・・ 2  かくこ ・・・ <テーブル2> 区分 名前 1  あうお 1  いえ 2  かくこ 2  きけ 上記のような構成の時にテーブル1にデータを入力する場合、区分1のレコードの名前のルックアップにはテーブル2の区分1のみが表示されるようにしたいのです。 同じように、区分2のレコードでは区分2が表示され、それぞれ選択したいのです。 クエリを作成して試したのですが、同じレコードの別のフィールドを条件に入れる方法がわかりません。 仮に、パラメータで1を指定したら、区分1のレコードではちゃんと表示されますが、 区分2のレコードでも区分1が表示されてしまいました。 こんなことが出来るのでしょうか?出来ないときはテーブル2を全部表示させるしかないですよね?他に方法があれば、その方法もお願いします。 わかりにくいときは補足いたしますので、宜しくお願いします。

  • Access2003 更新クエリについてご教授下さい。

    初めまして。 今回、初めてご質問させていただきます。 Access2003の更新クエリについてご教授お願いします。 AテーブルとBテーブルがあります。 ■Aテーブル(ALLテーブル)  各フィールド名:  名前(テキスト型)/完了(Yes/No型)/備考欄(テキスト型) ■Bテーブル(更新させたいテーブル)  各フィールド名:  名前(テキスト型)/完了(Yes/No型)/備考欄(テキスト型)  (※Aテーブルと同じです。) Bテーブルの内容をAテーブルへ更新させたいのですが 名前/完了のフィールドは、更新クエリで完成出来ましたが 備考欄の更新が出来ません。 (※備考欄には、コメントがそれぞれ入っています。) どのような形でクエリを作成すれば Aテーブルへ更新が可能になるのでしょうか? 以上、ご教授お願い致します。

  • Accessでキーワード検索(抽出)

    Access97で新聞記事のデータベースを作っています。 以下のようなテーブルがメインの非常に単純なものです。 ┌──┬───┬──┬──┐ │日付│見出し│分類│備考│ ├──┼───┼──┼──┤ 新聞記事を日付やキーワードで抽出したいのですが、 キーワード検索がうまく出来ません。 パラメーターで見出し列からデータを抽出したところ、 完全に一致するデータは抽出されるのですが、 「*キーワード*」で一部合致のデータを 抽出することは出来ませんでした。 デザインビューで「抽出条件」に入力すれば 「*キーワード*」でも可能なことは確認しましたが Accessに慣れていない人に操作をさせたいため、できれば キーワード入力を促すフォーム(ダイアログ)表示 ↓ キーワードを入力して抽出 ↓ クエリー、フォーム又はレポートに表示 という手順にしたいのですが、 Accessの機能のみでそういったことはできますでしょうか? VBAを使った方がいいでしょうか?

  • ACCESS VBA 並び替え 列 カウント

    ACCESSを業務で使用し始めたものです。 ・特定のクエリから一定の操作をしたテーブル ・又は特定の複数のテーブルの抽出項目 を元にコマンドボタンを押した時、 一定操作を行ったテーブルを出力できるVBAソースを作成したいと思ってます。 (クエリ) (複数のテーブル) ⇒ (操作) ⇒ (特定の名前を持ったテーブル) (例)元となるクエリ(複数のテーブルの集合体)が以下にあります。 管理番号|NO|名前 1|NO.1|スプーン 2|NO.2|スプーン 3|NO.3|スプーン 4|NO.1|フォーク 5|NO.2|フォーク 6|""|ナイフ 7|NO.1|お鍋 以下のように一つのテーブルとして出力したい 名前|空白|管理番号|台数 スプーン|空白|1|3 フォーク|空白|4|2 ナイフ|空白|6|1 お鍋|空白|7|1 テーブル変換の機能 ・名前が同じ物の個数を表示する ・名前が同じ物の管理番号は若い番号にする ・列のならびを 管理番号|NO|名前 → 名前|空白|管理番号|台数 ・元のテーブルやクエリは消さない ・NOがふられていない項目についても台数をカウントする(ナイフのように) 至急に必要なので、コードを頂ければとても幸いですが やりかたの方向性でも結構です。 よろしくお願いいたします。