- ベストアンサー
マイクロソフトAccess2010で左右のフィールドの重複文言を削除する方法
- マイクロソフトAccess2010を使用して、左右のフィールドのレコード内で重複した文言を削除する方法を教えてください。
- 例えば、左のフィールドには「ブリキ看板 テキサコ ダルメシアン TEXACO ブリキカンバン ぶりき看板 ティンサイン サインボード インテリア TINサイン アメリカン雑貨」という文言があり、右のフィールドには「ブリキ看板 ブリキカンバン アメリカン雑貨」という文言があります。左のフィールドから右のフィールドの文言を削除し、「テキサコ ダルメシアン TEXACO ぶりき看板 ティンサイン サインボード インテリア TINサイン」という結果を得たいです。
- お手数ですが、マイクロソフトAccess2010での左右のフィールドのレコード内での重複した文言の削除方法を教えていただけないでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
基本的な流れは、ユーザー関数を作成して・・になります。 例えば 標準モジュールに Function delStr(delOrg As String, delList As String) As String Dim delAry As Variant Dim i As Integer delAry = Split(delList, " ") delStr = delOrg For i = LBound(delAry) To UBound(delAry) delStr = Replace(delStr, delAry(i), "") Next End Function とします。 左のフィールドのフィールド名が、F1 として下記が入ってると仮定 ブリキ看板 テキサコ ダルメシアン TEXACO ブリキカンバン ぶりき看板 ティンサイン サインボード インテリア TINサイン アメリカン雑貨 同様に右のフィールドのフィールド名が、F2 として下記が入ってると仮定 ブリキ看板 ブリキカンバン アメリカン雑貨 クエリのデザイングリッドに F1|F2|F3:delstr(F1,F2) とすればF3フィールドに結果が表示されます。 ただ、上の関数はあくまでも基本形ですので以下のような事が不明ですので 期待した結果が出ないと思います。エラー処理も入れてません。 1・ >ブリキ看板 テキサコ 文字と文字の区切りが半角スペースになっているが 全角スペースが紛れ込んでいないか 2・半角スペースが2個以上になっているのがないか 3・>TEXACO<=>texaco 大文字・小文字は同一視するのか 4・TEXACO<=>TEXACO 半角・全角の場合は パッと思いつだけでも色々あります。
お礼
おおーすごいです。早速やってみます。ありがとうございました。