• ベストアンサー
  • すぐに回答を!

ACCESS文字列の一部を検索して別の項目にセットしたい。

ACCESS VBAである項目の文字列の一部を別の項目にセットしたいのですが、できるのでしょうか。 例)検索テーブル   ’スパイス’            ’醤油’  A:テーブル     品コード  内容             項目      1    スパイスが効いています。        2    大味      3    醤油あじ                4    醤油ラーメン A:テーブル結果または別テーブル     品コード  内容             項目      1    スパイスが効いています。   スパイス      2    大味      3    醤油あじ           醤油      4    この店の醤油ラーメン     醤油 宜しくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数354
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1
  • nda23
  • ベストアンサー率55% (773/1384)

VBAでなくても普通のクエリで実現可能です。但し、デザイナでは表示不可能なので、 SQLビューで直接SQLを記述します。尚、Access2003でテストしましたが、 古いバージョンではエラーになるかも知れません SELECT A.品コード,A.内容,B.キーワード AS 項目 FROM [A:テーブル] AS A LEFT JOIN 検索テーブル AS B ON A.内容 LIKE "*" & B.キーワード & "*" ORDER BY A.品コード 検索テーブルのフィールド名が不明だったので、「キーワード」と仮定しています。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

なるほど、SQLでもできるんですね。 いつもありがとうございます。

関連するQ&A

  • Access 文字列検索

    Aというテーブル(フィールド数:4、データ数:不定)とBというテーブル(テーブル構造はAと全く同じ)があります。 フォームでテキストボックスに文字列を入力しコマンドボタンをクリックすると、 Aの全フィールドの全データから入力された文字列を検索し、 Bのデータを全削除してから、該当したデータをBに追加するような機能を作りたいです。 ExcelのVBAは多少わかりますが、Accessはほとんどわからない初心者です。 どなたか親切な方、教えて下さい。 宜しくお願い致します。

  • 【ACCESS】文字列を抜き出したい

    初心者ですが。分かる方お願いいたします(__)(至急ですみません) 会社の専用システムからCSVデータをダウンロードしました。 その時点で、「商品コード」のフィールドが「"=0123456"」 のようなってしまっています。(「0123456」のように数字だけになっていてほしい) CSVの段階で、文字列関数を使用して数字だけにしてしまえばいいのですが、何万件とデータが重く、ファイルも複数あることから時間がかかってしまいます。 そこで、ACCESSにデータをインポートして加工しようとしましたが、どのようにすれば数字だけ抜き取ることができるでしょうか。 Right関数、left関数も考えましたが、商品コードの文字数が一定していないためできません。 インポートした時点で商品コードのフィールドがテキスト型にされていたので、数値型にすれば数字だけになるかな?と思ってやってみましたがデータがすべて失われてしまいました・・。 良い知恵をお貸しください。 どうぞよろしくお願いいたします。 それをACCESSにインポートしてテーブルを作成致しました。

  • Accessで計算値を項目へセットする方法。

    こんにちは。 非常に初歩的な質問で申し訳け御座いません。 Accessで計算値を項目へセットする方法についてお伺い致します。 A,B,Cのテーブル項目があったとして、フォームからA,Bへ入力した値をA*Bを計算してCへセットする場合に、これを実現できる方法(手段)を知りたいと思います。 マクロとVBAでは可能と思いますが、こちらの方法は除外しまして式ビルダを使って可能なのでしょうか。 (実は前から漠然と出来ると思っていたのですが、出来ないような気がしてきました。私の勘違いのではと思っています。) Accessのご経験豊富な方のご意見を宜しくお願い致します。

  • ACCESS、Excel、秀丸で文字列操作

    ACCESSのクエリ結果をExcelに貼り付ける時に、一部文字列の変換を したいと思ってます。 もともとのACCESSデータはテーブル上で半角英数字の12桁で、 それをExcelにコピーする際には4桁ごとにハイフンを入れます。 (例) ACCESS 1234567890ab ↓ Excel 1234-5678-90ab ちなみに、この項目は、空白の場合もあります。 で、今は、一度クエリ結果を秀丸に取り込んで、 ・空白行をダミー文字列(999999999999)に置換 ・記録機能で(右に4つ移動、-、右に4つ移動、-、次行へ)  とやって、それを最終行まで再生 ・ダミー文字列(9999-9999-9999)を削除 ということをやって、Excelに貼り付けとしています。 結構面倒なので、もう少しスマートなやり方がないかと思っているの ですが、ACCESS、Excel、秀丸、どれでもいいので、 もしくは、他のフリーソフトできれいにやる方法を教えてください。

  • VBA文字列の抜き出し方

    こんにちは。Excel VBAで文字列を抜き出したいと思っています。 変数には下記のようなデータがはいっています。 hensu = "コード:xxxxx / コード2:yyyy / コード3:zzzzzz" コード2:から始まって/の手前までのデータ、つまりyyyyのみを抜き出したいと思っていますが、どのように抜き出すことができるでしょうか? instrでコード2を検索しても、どのように「/」を検索すればいいのかわかりません。 このあと、ループを使ってyyyyを連続的に抜き出していきたいと思っています。各文字列の文字数は不定です。 宜しくお願い致します!

  • ACCESS2002 文字列の抜き出しについて

    ACCESS2002を使用しています。 ひとつのフィールドに、図1のようなデータがあるのですが、そこから”株式会社”という文字列だけを抜き出して、図2のようにフィールドを分けたいのですが、どのようにすればできるのでしょうか。 図1 ----------------- |   フィールドA   | ================= |株式会社 abc    | |DEF株式会社     | |フラワーショップ    | |   ・         | |   ・         | |   ・         | ----------------------- 図2 ------------------------------- |   フィールドA   |   フィールドB   | =============================== |株式会社      |abc         | |株式会社      |DEF         | |  ・          |フラワーショップ  | |  ・         |  ・        | |  ・         |  ・        | |  ・         |  ・        | ------------------------------- ちなみに、VBAやVBに関する知識はほとんどない状態です。。。 どなたか、宜しくお願い致します!!

  • Access、データ入力後、「ECS」キーで文字列消える

    Accessのテーブル等の画面で、データ(文字列)入力後、「ECS」キーを押すと、入力した文字列が消えてしまいます。 漢字変換後でも、半角アルファベットでも、ESCを押すと消えます。 テーブル、クエリー、フォーム、すべて同じ状況です。 WinXP+Access2003、WinXP+Access2000のPCが複数台ありますが、すべて同じ症状がでます。 同じ症状の方、いらっしゃいませんでしょうか。また、解決法があればアドバイスいただけると助かります。

  • 2つのフィールドの文字列の組み合わせ

    Access2013 vba あるテーブルの構成が以下のようになっていますが □テーブル構成 ・ID(Long) ・建物NO(外部キー/Long) ・部屋番号(文字列) この時、建物NOと部屋番号の組み合わせで、一意の値にしたい場合、どのようにしたら良いでしょうか。 よろしくお願いします。

  • (ACCESS VBA)改行,「"」がある文字列

    こんにちはたびたび質問させていただいているmynannです ACCESS2000での話しなのですが 今モジュールを使って 定数である文字列と テーブルの商品マスタの数値を反映させた文字列を合わせて すぐにウェブページにできるようなものを作ろうとしているところです (例えばhttp://goo.ne.jp/という定数と商品マスタの 商品コードである001を使ってhttp://goo.ne.jp/001.htm みたいな文字列を作り出すみたいな感じで) それで今こまっているのですが 文字列が短い時には普通に動くのですが 実際にためしたい文字列だと 中に改行や「"」が複数あるせいかエラーになってしまいます なんか対処方ないのでしょうか?? とてもわかりずらい質問のしかたで申しわけございませんが 回答お願いします☆

  • Access コンボボックスに表示させる文字列

    お世話になります。 Access2010 フォームにコンボボックスを設置し、そこに、  2014年9月  2014年8月  2014年7月    ・    ・    ・ と表示したいと考えております。 これらの文字列を予めテーブルに登録しておき、それをソースとして 表示したり、もしくはコンボボックスのプロパティで値リストに登録 しておけばよいかと思うのですが、例えば来月になったら「2014年10月」 も表示させる必要があり、その都度テーブルに追加したり、値リストを 追加するのは手間がかかります。 このように、流動的?な文字列を表示したい場合、どのように やればよいのでしょうか。 ※フォームを開く都度、現在の年月を基準に一時的にテーブル  を作成する? なお、ローカルテーブルに上記のような文字列(年月)をもっている テーブルがあるので、グループ化して降順?で表示すればよいかとは 思いますが、あくまでも登録されている年月しか表示されません。 例えば、今月の場合は先月分までしか登録されてないので、2014年8月は 表示できますが、2014年9月が表示できません。 ご教授の程、宜しくお願い致します。