- ベストアンサー
ACCESS2002 文字列の抜き出しについて
ACCESS2002を使用しています。 ひとつのフィールドに、図1のようなデータがあるのですが、そこから”株式会社”という文字列だけを抜き出して、図2のようにフィールドを分けたいのですが、どのようにすればできるのでしょうか。 図1 ----------------- | フィールドA | ================= |株式会社 abc | |DEF株式会社 | |フラワーショップ | | ・ | | ・ | | ・ | ----------------------- 図2 ------------------------------- | フィールドA | フィールドB | =============================== |株式会社 |abc | |株式会社 |DEF | | ・ |フラワーショップ | | ・ | ・ | | ・ | ・ | | ・ | ・ | ------------------------------- ちなみに、VBAやVBに関する知識はほとんどない状態です。。。 どなたか、宜しくお願い致します!!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
クエリや演算フィールドというのは、わかりますか? オブジェクトから「クエリ」を選んで 新規作成→デザインビュー→(テーブルの表示)というのが出てきますので、 会社名の入っているテーブルを選択し追加して閉じてください。 そして・・・・・下の空欄の部分の「フィールド」というところに 式1: IIf(Left([会社名],4)="株式会社","株式会社",IIf(Right([会社名],4)="株式会社","株式会社","")) 式2: IIf(Left([会社名],4)="株式会社",Mid([会社名],5,Len([会社名])-4),IIf(Right([会社名],4)="株式会社",Left([会社名],Len([会社名])-4),[会社名])) 式1を一番左側に、式2を左から2番目のフィールドのところに、コピーして貼り付けてください。 注意)式にある[会社名]というのは、フィールド名をあらわしていますので、 会社名の入っているフィールドの名前を入れてください。(例題に出されている ものをそのまま使うと、[フィールドA]という名前が入ります。
その他の回答 (2)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 以下の手順で。 1.テーブルにフィールドBとフィールドC(データなし)を追加します。 2.更新クエリで、フィールドBにフィールドAの値をコピー。 3.更新クエリで、フィールドCに"株式会社"を代入 具体的には、 (1)クエリの種類を更新クエリにする (2)フィールドCのレコードの更新欄に「"株式会社"」と入力する (3)フィールドAをシートにドラッグし、その抽出条件に、 「Like "*株式会社*"」 と入力する。(レコードの更新欄は何も入力しない。) (4)クエリを実行する 4.テーブルを開き、フィールドBのどこかにカーソルをおいておく。 5.メニューの[編集]→[置換]で[置換]ダイアログボックスを表示する。 6.ダイアログボックスの各設定を、 [検索する文字列]:「株式会社」 [置換する文字列]:「」(何も入力しない) [探す場所]:「フィールドB」 [検索条件]:「フィールドの一部分」 にして、[すべて置換]をクリックする。 7.不要になったフィールドAを削除する。 8.必要に応じて、フィールドCをフィールドAに変名する。 なお、フィールドBに余分なスペースがある場合は、6.の[検索する文字列]に「 」(スペース)を入力してさらに置換して下さい。
お礼
maruru01さま maruru01さんの手順でも、目的を達成することができました!! 検索や置換も、こんな有効な使い方があったのだと気づきました。 これから、もう少し更新クエリについても学びたいと思います。 本当にありがとうございました。
InStr関数、Replace関数を使えば簡単ですが、 > ちなみに、VBAやVBに関する知識はほとんどない状態です。。。 > どなたか、宜しくお願い致します!! ということなので、 (1) 必要な知識とスキルを身に付ける。 (2) 必要な知識とスキルを持っている外注さんに丸投げする。 (3) あきらめて手作業でやる。 (4) 部下に仕事を押し付けて自分はさっさと帰る。(-_-; どれを選択するかは貴方次第ですが、 外注に仕事を出せる予算(体力)があれば、(2)を、 生産性(作業効率)の向上には関心がないが、残業代は稼ぎたいなら(そして、会社に残業手当を出せる体力があるなら)、(3)を、 外注費も削減したいし、生産性(作業効率)もよくしたいとお考えなら、(4)を お奨めしておきます。
お礼
omusupaさま できました!! VBAやVBでコーディングしなくても、こんなやり方があるんですね。 Mid関数とかがあるのは知っていたのですが、使い方がわからず途方に暮れていました。 ありがとうございました!!