• ベストアンサー

accessでの質問です(使っているのは2003Verです)

accessでの質問です(使っているのは2003Verです) ■文字列の途中に「100文字(仮に"X"とします)ほど、文字を追加したい」のですが、  なにかいい方法はありますか??  ・フィールド名(メモ型):[商品情報]    ・元データ:"ABC" とします    ↓   変更後 :"ABXC"   ※"X"の中には、「<>""(空白) を含むHTMLのコードです」  あとここがうまくいけば、とっても助かるので、  わかるかた、是非教えてください。  ご教授、よろしくお願いします。

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.4

No.2です。 > 置き換える対象の文字列に""が入っているのでエラーになるのですが、 > なにかいい方法はありますか?? どういう方法で置き換えようとしているか分かりませんが、 VBA で文字列を操作するなら No.3 さんの方法で。 更新クエリということなら、 SQL の文字列は「'」(シングルクォーテーション)を区切り文字にできるので [メモ型のフィールド]の「レコードの更新」欄に Replace([メモ型のフィールド],'<table width="570" bordercolor="#CC0000" border="1" cellspacing="1" cellpadding="5">スタイ','<table width="570" bordercolor="#CC0000" border="1" cellspacing="1" cellpadding="5"><tr><td>スタイ') と記述できます。 もちろん、置き換える対象文字列にシングルクォーテーションが含まれないことが条件ですが。 含まれる場合は、やはり No.3 さんの方法になります。

その他の回答 (3)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

#1です。 #2さんのreplaceが簡単でしょうね。 > ""(ダブルコーテーション)がaccessの警告対象になってしまいます。 ダブルクォートを二つ重ねて記述するか、CHR(34)で表現してください。 "<table width=""570"" bordercolor=""#CC0000"" border=""1"" cellspacing=""1"" cellpadding=""5""><tr><td>スタイ" "<table width=" & chr(34) & "570" & chr(34) & " bordercolor=" & chr(34) & "#CC0000" & chr(34) & " border=" & chr(34) & "1" & chr(34) & " cellspacing=" & chr(34) & "1" & chr(34) & " cellpadding=" & chr(34) &"5" & chr(34) & "><tr><td>スタイ" & chr(34) メモ型は、WhereでLIKE検索効きましたっけ? "スタイ"の行を対象にUpdateで置換するのもありかも。

infumi1126
質問者

お礼

なるほど、そのようにやるんですね!! ありがとうございます!!

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.2

> 1. > "<table width="570" bordercolor="#CC0000" border="1" cellspacing="1" cellpadding="5">スタイ" > という文字列と > 2. > "<table width="570" bordercolor="#CC0000" border="1" cellspacing="1" cellpadding="5"><tr><td>スタイ" > という文字列があります。 1.に「<tr><td>」を挿入しようとすると難しいですが 1.を 2.で置き換えると考えれば簡単じゃないですか?   Replace 関数 1つで済みますね。

infumi1126
質問者

お礼

ありがとうございます。 >1.に「<tr><td>」を挿入しようとすると難しいですが >1.を 2.で置き換えると考えれば簡単じゃないですか? >  Replace 関数 1つで済みますね。 なるほど! そこで、一つわからないのですが、 置き換える対象の文字列に""が入っているのでエラーになるのですが、 なにかいい方法はありますか?? <table width="570" bordercolor="#CC0000" border="1" cellspacing="1" cellpadding="5"><tr><td> ↑↑数字の周りなどについている""(ダブルコーテーション)がaccessの警告対象になってしまいます。 初歩的なことですみませんが、 よろしくおねがいします。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

元データ分割の詳細が不明ですが、「常に先頭2文字と末尾1文字」で良いのかな? 式:left(データ, 2) & <X:連結したい文字列> & right(データ, 1) ※ <X:連結したい文字列>は説明のための記述。適切なものに置き換えてください。

infumi1126
質問者

お礼

ありがとうございます。 >元データ分割の詳細が不明ですが、「常に先頭2文字と末尾1文字」で良いのかな?  すみません、説明不足でした。  "AB"・・・HTMLのコードで1000文字以上です。  "C" ・・・同じく、1000文字以上です。  ※"A","B","X","C"の中には、「<>""スペース などをが含まれています(HTMLのコードです)」  これでどうでしょうか。  なにか良い方法がありますか?  よろしくお願いします。

infumi1126
質問者

補足

正確には、 [additional1]というフィールドの中に、 1. "<table width="570" bordercolor="#CC0000" border="1" cellspacing="1" cellpadding="5">スタイ" という文字列と 2. "<table width="570" bordercolor="#CC0000" border="1" cellspacing="1" cellpadding="5"><tr><td>スタイ" という文字列があります。 これを2.の "<table width="570" bordercolor="#CC0000" border="1" cellspacing="1" cellpadding="5"><tr><td>スタイ" に統一したいというのが希望です。 わかりますでしょうか。

関連するQ&A