Microsoft Accessで、半角の「?」を全角の「?」に置換する方法を教えてください。


通常の置換の方法は知っています。ですが、どうしてもこの「?」の置換が上手くいきません。

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:2006/10/01 15:51:07
  • 終了:2006/10/08 15:55:10

回答(3件)

id:llusall No.1

llusall回答回数505ベストアンサー獲得回数612006/10/01 16:20:00

ポイント27pt

StrConv(xxxx, vbWide)

での置換の事でしょうか?


マイクロソフト技術情報より、

[Info] Microsoft.VisualBasic.StrConv 関数で半角の "\" が変換されない

この技術情報は、VB.NETによるものですが、現象・内容ともにAccessのVBAの「StrConv」と同様であると思います。


回避策

Replace メソッドを使用し、全角の "¥" に変換します。

とありますので、

xxxx = = Replace(xxxx, "\", "¥")

として回避させるみたいですね。


以上、参考になりましたでしょうか?

id:tokuya_n No.2

tokuya_n回答回数56ベストアンサー獲得回数72006/10/01 16:23:12

ポイント27pt

モジュールでReplace関数を呼び出せばできそうです。

http://www.accessclub.jp/bbs3/0014/superbeg5984.html


こんな感じに新規モジュールを定義して、

Option Compare Database

Option Explicit

Function usReplace(String1 As String) As String

usReplace = Replace(String1, "?", "?", , vbTextCompare)

End Function


更新クエリを以下のような定義で作成します。

  フィールド|フィールド名

   テーブル|テーブル名

レコードの更新|usReplace([フィールド名])

   抽出条件|

手元のAccess2003で試したところ、うまく置換されました。

更新クエリについて分からなければこちら

http://www.geocities.jp/access119room/y_soft/point_k/kousin1.htm

id:kn1967 No.3

kn1967回答回数2915ベストアンサー獲得回数3012006/10/01 20:09:47

ポイント26pt

ワイルドカード文字をワイルドカードではなく文字として認識させたい場合は[角かっこ]で囲んでみてください。

編集→置換 であれば

・検索する文字列の欄に   [?]

・置換後の文字列の欄に   ?

・完全に一致するフィールドだけを検索するの欄  チェックを外す

で実施してみてください。

http://office.microsoft.com/ja-jp/assistance/HP051881851041.aspx

  • id:llusall
    あっ。「¥」と「?」を間違えました。
    すみません。
    「¥」もダメみたいなので、両方ともをReplaceで置換する必要がありそうですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません