• ベストアンサー

Accessのデータの一部を削除する方法

Accessのデータの一部、()で表された文字を削除したいのですが、うまくいきません。同一フィールドに2箇所あり、これも削除されため、行の左端から始まる()の分のみを削除するには どのようにすると良いですか

noname#141015
noname#141015

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

  • ベストアンサー
  • ksd_hiro
  • ベストアンサー率76% (29/38)
回答No.2

VBAを使用する回答(ACCESS単独では、正規表現が利用できませんので、VBAからVBScriptなどを呼び出して正規表現を利用する必要があります)は、すでに出ているので、関数とクエリだけで行う方法をひとつ。 特定の文字列を削除するには、REPLACE関数を使用して、対象文字列を""に置換すればできますが、残念ながら、REPLACE関数は、ワイルドカードが使えません。 そのため、今回のような、(不定の文字列)を置換することは単純にはできませんが、RIGHT・MID・LEFT関数とINSTR関数をうまく組み合わせて、更新クエリを作成すればできます。 削除したい(文字列)が、間違いなくフィールドの左端(1文字目)から入っているのなら、以下のように更新クエリを作成して実行で完了です。 1.削除したい(文字列)を含むフィールド(仮に「F1」とします)だけを持つ選択クエリを作成する。 2.抽出条件:に、InStr([F1],"(")=1 と入力する。 3.選択クエリを、更新クエリに変更し、レコードの更新:に、 Right([F1],Len([F1])-InStr([F1],")")) と入力する。 そのまま更新クエリを実行するか、一旦保存してから、その更新クエリを開けば削除完了です。 削除したい(文字列)の位置が不定でも、関数を適切に組み合わせることで、いろいろな条件に対応できます。

noname#141015
質問者

お礼

回答ありがとうございました

その他の回答 (1)

  • seastar3
  • ベストアンサー率69% (99/142)
回答No.1

正規表現を活用します。次のQ&AのGin_IIさんの回答が使えるでしょう。 http://www.accessclub.jp/bbs2/0077/beginter24382.html パターン文字列の sPtn = "@.*?@" の行を sPtn = "^\(.*?\)" とすればヒットするでしょう。 ^が先頭の印で、()は特別な記号なので、\( \) でこの記号そのものを示します。

noname#141015
質問者

お礼

回答ありがとうございました

関連するQ&A

  • Access2003  クエリ フィールドデータの削除

    Accessの質問です。 Access超初心者です。 仕事でデータが自動で入れ替えするプログラム作成を依頼されましたが、Accessの使い方がよく分からず悩んでおります。 質問は下記となります。 (1)クエリの設定にて、フィールド自体は残すが、 データだけすべて削除する方法 (2)クエリの設定にて、フィールドの一行目だけを残し、すべて削除する方法 お手数お掛けいたしますが、ご回答宜しくお願いいたします。

  • HTMLのテーブルデータの一部を固定しかつ一部をフレキシブルにしたいの

    HTMLのテーブルデータの一部を固定しかつ一部をフレキシブルにしたいのですがどのようにしたらいいでしょうか? 画像のようにやりたいのですが・・・ 一番左端は10pxで固定します。 Xのテーブルデータはいれる文字列の長さによってフレキシブルにします。 Yは画像を入れるのですがXの文字列とすぐ隣合うようにしたいのです。 その横の140pxと20pxのデータは完全に固定として上から下の行までまっすぐに通したいのです どのようにしたらいいでしょうか?

    • ベストアンサー
    • HTML
  • Access2007へのデータインポート

    Excel2007で作った、2列だけの40,000行にわたるデータがあります。この1列目には数値が入っていて、複数の行に同じ数値が入っています。2列目は文字列です。 これをAccess2007で作ったデータベースに取り込みたいのです。 データベースにはIDフィールド(固有数値)とメモ型に規定されたフィールドがあり、Excelの1列目の数値がAccessのIDフィールドと一致したら、Excelの2列目の文字列を、メモ型に規定されたAccessのフィールドにインポートする作業を目指しています。 結果的に、メモ型に規定されたAccessのフィールドにはたくさんの文字列が連なるようにしたいのですが、方法がわかりません。 教えていただける方がおられましたらうれしいのですが・・・。どうぞよろしくお願いいたします。

  • Access で重複データを削除

    Access2010を使用しています。フィールドが2個あります。【都道府県名フールド】【市区町村名フィールド】です。 都道府県フールドには、重複データが有ります。【東京都 品川区】【 東京都 大田区】【千葉県 市川市】【千葉県 船橋市】・・・・】このような重複データがある時に、エクセルの【データ 重複の削除】の様な結果が欲しい。実行後は【東京都 品川区】【千葉県 市川市】です。*エクセルの重複の削除は最初の行が残ると有りました。簡単な方法をお願い致します。現在実施している方法はアクセスで、エクセルでエクスポートして、【データ データの削除】を実施しています。 ※OKWAVEより補足:「ひかりTVのサービスやISPぷらら」についての質問です。

  • Accessのクエリーで、*が入っているデータを抜出す方法って?

    助けてください! Accessのクエリーで、*が入っているデータを抜き出すのってどうやるんですか? クエリーの元になるテーブルは1つ、非常に単純なテーブルです。  ●フィールド1=「*」もしくはNullもしくは「英数字」  ●フィールド2=製品番号  ●フィールド3=メーカ番号 テーブルには上記3つのフィールドしかありません。 このテーブルの、「フィールド1に『*』が入っているデータを抜出したいのです。(抜出すのはフィールド1~3全て) 単純に選択クエリーで「抽出条件」に「“*“」と入れると、「フィールド1に英数字が入っている」行まで選択しちゃうんです。そりゃそうだよなーとは思うのですが、じゃあ、どうやったら英数字の入っている行は無視して、純粋に「*」だけの行を抜出せるのかわかりません。 誰かー!助けて―!

  • ExcelからAccessにデータを取り込む方法

    質問します。 Access初心者、VBA初中級者です。 VBAで、ExcelからAccessにデータを取り込んでいます。 ですが、Excelの表はAccessのDBの型と一致していません。取り込む場合、特定の列のデータをAccessの特定のフィールドに取り込むことはできますか? (たとえば、ExcelのA列のデータは、Accessの「品番」フィールドに入れる、B列のデータはAccessの「商品名」フィールドに入れる、というように。) 一時エリアに保存して、それを取り込む方法でもいいです。 現在TransferSpreadsheetを使っていますが、Rangeを指定して一度に全部もってきたいわけではないので、できれば取り込み先を設定したいと思った次第です。 また、Excelは使用行が決まっていないため、取り込みも、できれば 「カラ行になるまで1行ずつ取り込む」というようなコードにしたいです。 お手数をおかけしますが宜しくお願いします。

  • アクセスでデータの一部削除

    下記1のようなデータがアクセス内にあります。   1.昭和49年(1974)4月23日 このデータから(1974)を削除して下記2のような日付データにしたいのですが、この処理を一括で行うクエリはどのように作ればいいのでしょうか?   2.昭和49年4月23日

  • アクセスのフィールドデータを一括削除したい

    アクセスのテーブルで、複数のフィールドにある、データのみを一括して削除したいのですが、方法はあるでしょうか。 たとえば顧客テーブルで、 「顧客番号」や「顧客名」「TEL」などのフィールドに格納されている基本データは温存します。 そして、過去の取引履歴として「最終請求日」や「最終入金日」など、複数のフィールドに格納されているデータのみを削除したいのです。 フィールド自体は削除しません。 複数のフィールド(列)を選択して右クリックすると、[ 選択したフィールドデータの削除 ]といったメニューが出ると良いのですが。 全ての顧客に対して、この作業を一括して行ないたいのですが可能でしょうか。      

  • ワードの目次の一部を削除したい

    こんにちは。 現在、ワードを使って、文書の体裁を整えています。文書は内容はすでに出来ている状態で、行頭をそろえたり、文字サイズを揃えたりしています。 目次の自動作成で目次のページが作られています。その目次をクリックすれば、該当箇所にジャンプするという形になっています。 その一部が不要なので、削除したいのですが、どうすればいいのでしょうか?普通に、deleteで削除しても、フィールドの更新をするとまた、deleteで消したものが表示されます。 フィールドの更新をしても表示されないようにするには、どのように削除すればいいのでしょうか?

  • Access上での一括データ削除について

    Access2000を使っています。 データの中で、コメント(例:ここから ここまで)で囲まれた部分のみ、削除したいと考えているのですが、こういったことはできるのでしょうか? もしできるのであれば、方法を教えて下さい。 ちなみに、20000行ほどあるデータなので、エクセルで開くことができません・・。