- ベストアンサー
accessでの質問です(使っているのは2003Verです)
accessでの質問です(使っているのは2003Verです) ■文字列の途中に「100文字(仮に"X"とします)ほど、文字を追加したい」のですが、 なにかいい方法はありますか?? ・フィールド名(メモ型):[商品情報] ・元データ:"ABC" とします ↓ 変更後 :"ABXC" ※"X"の中には、「<>""(空白) を含むHTMLのコードです」 あとここがうまくいけば、とっても助かるので、 わかるかた、是非教えてください。 ご教授、よろしくお願いします。
- みんなの回答 (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)
#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で置換するのもありかも。
- bonaron
- ベストアンサー率64% (482/745)
> 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つで済みますね。
お礼
ありがとうございます。 >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)
元データ分割の詳細が不明ですが、「常に先頭2文字と末尾1文字」で良いのかな? 式:left(データ, 2) & <X:連結したい文字列> & right(データ, 1) ※ <X:連結したい文字列>は説明のための記述。適切なものに置き換えてください。
お礼
ありがとうございます。 >元データ分割の詳細が不明ですが、「常に先頭2文字と末尾1文字」で良いのかな? すみません、説明不足でした。 "AB"・・・HTMLのコードで1000文字以上です。 "C" ・・・同じく、1000文字以上です。 ※"A","B","X","C"の中には、「<>""スペース などをが含まれています(HTMLのコードです)」 これでどうでしょうか。 なにか良い方法がありますか? よろしくお願いします。
補足
正確には、 [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>スタイ" に統一したいというのが希望です。 わかりますでしょうか。
お礼
なるほど、そのようにやるんですね!! ありがとうございます!!