人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MS access で データの中身に、HTMLタグが入っているものがあり、
このタグの部分だけを削除したいと考えています。
HTMLのタグを除去するクエリーの書き方を教えて下さい。

●質問者: wakutan
●カテゴリ:コンピュータ
✍キーワード:access HTML MS クエリ タグ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● memo77
●35ポイント

クエリだけでは無理です。

少なくともユーザー定義関数を作る必要があります。

Accessのバージョンが2000以降であればReplace関数を使えますが、正規表現でも使えない限りは、さまざまなパターンに対応するというのは難しいでしょう。


が入っているだけとか、

だけとか、限定的なものであればユーザー定義関数でReplaceを使って作成できます。


タグのパターンが複雑であれば、正規表現でも使えない限り難しいでしょう。一度きりの作業であれば、データを外部に出力して、適切な外部ツールを使ったほうが速いと思います。



VBAから正規表現を使ってみようと思うのであれば検索語はRegexあたり。

↑のアドバイスで調べられないとすると、自力解決は無理な課題だと思ってください。

http://www31.atwiki.jp/memo77/


2 ● llusall
●35ポイント

1.標準モジュールに次のファンクションを追加します。

Option Compare Database
Option Explicit

Public Function ExterminateTags(ByVal html As String) As String
 Dim reg
 Set reg = CreateObject("VBScript.RegExp")
 With reg
 .Global = True
 .IgnoreCase = True
 End With
 reg.Pattern = "<.*?>"
 ExterminateTags = reg.Replace(html, "")
End Function

2.クエリーの新規作成をします。

3.更新クエリーにします。

クエリーのデザインビューから、メニューの[クエリー]-[更新]を押す

4.

フィールド HTML文字列
テーブル テーブル1
レコードの更新 ExterminateTags([HTML文字列])

などのようにします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ