Microsoft Access Club Access超初心者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトルreplace関数で質問
記事No83262
投稿日: 2018/02/08(Thu) 19:26
投稿者渡辺
OS:Windows 2008 R2
Access Version:2010

Replace関数で「@@」をchr(13)+chr(10)に置き換えています。

Replace([フィールド],"@@",chr(13)+chr(10))

上記で実行すると基本的には「@@」を改行に置換してくれるのですが、一部のデータで「@」+改行になってしまいます。

原因不明で困っているのですが、何かヒントになるモノでもよいので教えてください

タイトルRe: replace関数で質問
記事No83263
投稿日: 2018/02/09(Fri) 13:56
投稿者hatena
> Replace関数で「@@」をchr(13)+chr(10)に置き換えています。
>
> Replace([フィールド],"@@",chr(13)+chr(10))
>
> 上記で実行すると基本的には「@@」を改行に置換してくれるのですが、一部のデータで「@」+改行になってしまいます。
>
> 原因不明で困っているのですが、何かヒントになるモノでもよいので教えてください

改行+「@」なら、@@@ があったということですが、「@」+改行 はありえないと思います。

実際の、置換前のテキストと、置換後のテキストを提示できませんか。

タイトルRe^2: replace関数で質問
記事No83264
投稿日: 2018/02/09(Fri) 16:05
投稿者渡辺
hatena様

お返事ありがとうございます。

データ置換前を確認したのですがやはり「@@」しかなく、置換後は「@」+改行でした。
お客様の実データなもので提示は難しいです。

と思っていたら要因らしきものがわかりました。
文中に「ゞ」があると上記現象が発生します。

「あゞ@@改行」だと「あゞ@chr(13)+chr(10)改行」
「あ@@改行」だと「あchr(13)+chr(10)改行」になりました。

回避方法があればよいのですが・・・

タイトルRe^3: replace関数で質問
記事No83265
投稿日: 2018/02/09(Fri) 16:19
投稿者渡辺
訂正

「あゞ@@改行」だと「あゞ@chr(13)+chr(10)行」
「あ@@改行」だと「あchr(13)+chr(10)改行」になりました。

でした。
調べたら「ゞ」「ヾ」辺りでバグがあるようです。
比較モードをバイナリモードにすると良いとありましたので以下のようにしました。

Replace([フィールド],"@@",chr(13)+chr(10),,,0)

すると以下のエラーが発生しました。※「フィールド」はメモ型です。

更新クエリですべてのレコードを更新できません。
2個のフィールドで型変換エラー、0件のレコードでキー違反・・・(後略)

上記についても教えていただけないでしょうか?

タイトルRe^4: replace関数で質問
記事No83266
投稿日: 2018/02/11(Sun) 12:23
投稿者hatena
> 調べたら「ゞ」「ヾ」辺りでバグがあるようです。
> 比較モードをバイナリモードにすると良いとありましたので以下のようにしました。

下記と同様のバグですね。

AC2007, 2010 の Split, InStr関数のバグ? - hatena chips
https://hatenachips.blog.fc2.com/blog-entry-266.html


> Replace([フィールド],"@@",chr(13)+chr(10),,,0)
>
> すると以下のエラーが発生しました。※「フィールド」はメモ型です。
>
> 更新クエリですべてのレコードを更新できません。
> 2個のフィールドで型変換エラー、0件のレコードでキー違反・・・(後略)

[フィールド] が Null のレコードがあるのでしょう。

更新フィールドの抽出条件に下記の条件を設定すればいいでしょう。

Is Not Null

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る