みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Access VBA HTMLテキストデータをテーブルにINSERTする時

お世話になっております。

Accessでmdbを作成しています。
内容はHTMLソースをテキストファイルに変換して、そのテキストファイルをmdbでインポートします。
インポートしたHTMLのテキストファイルを1行ずつ読み込んで、別のテーブルにただ単にINSERTしたいのですが・・・。

下記のように1行読み込んだデータがカンマやダブルコーテーションや、シングルコーテーションが混じったデータだった場合、
"<TD class=bottomSeparatorTd noWrap align=left width=16><A class=blackHref onclick="javascript:displayAsTree(this, 'Row1335586');" href="#1">[+]</A> </TD>"

VBAのコードでどのようにこのデータを編集してやれば、INSERT可能なデータになるのかよくわかりません。

よろしくお願いいたします。

投稿日時 - 2008-01-11 11:55:20

QNo.3669614

すぐに回答ほしいです

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

<Test.txt>

"<TD class=bottomSeparatorTd noWrap align=left width=16><A class=blackHref

onclick="javascript:displayAsTree(this, 'Row1335586');" href="#1">[+]</A> </TD>"

<tab1>

ID__fld_1
1___"""<TD class=bottomSeparatorTd noWrap align=left width=16><A class=blackHref onclick=""javascript:displayAsTree(this, 'Row1335586');"" href=""#1"">[+]</A> </TD>"""

[イミディエイト]

? DBLookup("fld_1", "tab1", "ID=1")
"<TD class=bottomSeparatorTd noWrap align=left width=16><A class=blackHref onclick="javascript:displayAsTree(this, 'Row1335586');" href="#1">[+]</A> </TD>"

<Test.txt>を<tab1>にインサートしてテーブルを開けば上述のようになります。
[イミディエイト]で、関数で参照すれば<Test.txt>に同じです。
ですから、もしかしたら成功しているのかと・・・。

Private Sub コマンド0_Click()
  Dim isOK   As Boolean
  Dim strTexts As String
  
  strTexts = FileReadAll("C:\Temp\Test.txt")
  isOK = CnnExecute("INSERT INTO tab1 (ID, fld_1) VALUES (1,'" & Replace(strTexts, "'", "''") & "')")
  If isOK Then
    Message "INSERT しました。"
  Else
    Message "INSERT に失敗しました。"
  End If
End Sub

質問の要は、

Replace(strTexts, "'", "''")

じゃないでしょうか?

投稿日時 - 2008-01-11 12:21:56

補足

ご回答ありがとうございます。

そうです。
>質問の要は、

>Replace(strTexts, "'", "''")

>じゃないでしょうか?

でした。
ちなみにダブルコーテーションやカンマの場合、
Replace関数でどのように置換すれば、INSERTできる文字列として成立するでしょうか??

投稿日時 - 2008-01-11 13:00:40

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問