Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Access 2010)
フリガナの取得
投稿日時: 18/06/05 14:58:20
投稿者: ラングドシャ

よろしくお願いします。
 
毎日更新するアイテムリストのアイテム名のフリガナを作成する必要が
出てきました。
 
まず、フリガナを取得しましたが間違いが多くあり、個別に関数を
設定し一括修正を試みています。
 
myReplaceという名で関数を設定しました。
 
Function myReplace(target As String)
 Dim buf As String
 buf = target
 buf = Replace(buf, "マイニュウ", "マイイリ")
 buf = Replace(buf, "マイニュウハク", "マイニュウハク")
 myReplace = buf
End Function
 
クエリ「修正」フィールドにmyReplace([フリガナ])として
一括修正行いたいのですが、うまくいきません。
 
 
 品名       フリガナ               修正
業務用10枚入   ギョウムヨウ10マイニュウ    ギョウムヨウ10マイイリ
業務用10枚乳白  ギョウムヨウ10マイニュウハク  ギョウムヨウ10マイイリハク
 
業務用10枚乳白の修正がうまくできません。
buf = Replace(buf, "マイニュウハク", "マイニュウハク")を2つめの変換に入れることで
再変換してくれるのかと思っていたのですが、そうではないのでしょうか?
うまく変換できる方法を教えてください。よろしくお願いいたします。
 
 

回答
投稿日時: 18/06/05 15:46:14
投稿者: sk

引用:
buf = Replace(buf, "マイニュウハク", "マイニュウハク")

buf = Replace(buf, "マイイリハク", "マイニュウハク")
 
引用:
業務用10枚乳白の修正がうまくできません。
buf = Replace(buf, "マイニュウハク", "マイニュウハク")を2つめの変換に入れることで
再変換してくれるのかと思っていたのですが、そうではないのでしょうか?

その時点で変数 buf の値に "マイニュウハク" という文字列が含まれていない
=検索対象となる文字列は存在していませんので、置換のしようがありません。

投稿日時: 18/06/05 16:04:05
投稿者: ラングドシャ

sk様
 
ありがとうございます。
よくわかっておらず、設定した変換内容を上から順に処理していると
思っていました。
よって、2つ目に設定すれば再変換されるのかと思っていました。
 
buf = Replace(buf, "マイイリハク", "マイニュウハク")
 
こうすることでうまく変換できました。
ありがとうございます。
 

投稿日時: 18/06/05 16:04:32
投稿者: ラングドシャ

解決です。