プロが教えるわが家の防犯対策術!

Accessで特定の文字を置き換えたいです。
ただ、置換するだけなら、Replace([商品名],"ⅰ","1")でいいような気がしますが、
置換したい文字が複数あり
今後も増えていくのでテーブルでリストを作成しました。
元の文字 置換文字
ⅰ     1
ⅱ     2
I     A
II     B
元の文字を、置換文字に置き換えたいです。
また、商品名は、
I たばこ
II 文房具
になっているものや、
商品券ⅰ、ビール券ⅱ
と言うのがあるので、置換文字の入る場所はバラバラです。
質問がわかりにくくてすみません。
どうぞよろしくお願いします。

A 回答 (2件)

#1です。



そういうことでしたら、Access VBAを使って
フォームを作るしかないですね。
慣れたプログラマなら、そんなに難しいことではない、
と言うより簡単ですが、VBAができない人だと勉強から
始めないといけません。

デザインパターンとか色々考えられるので、一概に
これが答えだというものはないです。

この回答への補足

クエリでは、出来ないということですね。
フォームでクリックしたら、このクエリが流れる。という、構文くらいなら、わかるのですが、クエリでリストから置換作業をする事が、出来なくて困ってます。
でも、もうリストは諦め、大量でもiwaiwaiwaⅰさんの言われるように1つ1つで作成しようと思いました。
そこでまた別の問題が出てきました。
商品名を置換したいのですが、
I たばこ
II 文房具
(1) 工具
(2) 雑貨
これの、Iと(1)を1に置換し
IIと(2)を2に置換したいです。
1:1で置換する、式は作成出来たのですが、1:2で置換する式はどうしたらいいのでしょうか?
1:1で作成した、SQLは下記のようになっています。
UPDATE [★商品テーブル] SET [★商品テーブル].商品名= Replace([商品名],"(1)","1")
WHERE ((([★商品テーブル].商品名) Like "*(1)*"));
お手数ですが、わかりましたら、お力貸してください。

補足日時:2007/03/28 09:29
    • good
    • 0

Accessのテーブル内の文字列を置き換えたいということ


でしょうか?

変更リストが例に挙げられているだけなら、Accessの置換機能
でも十分だと思います。

VBAでやるにしても:
Replace([商品名],"","1")
Replace([商品名],"","2")

とある分だけ追加して行けば済むことではないでしょうか?
もちろん、何千個もあるのなら、配列に読み込ませて処理を
する、という方法もありますが。

もう少し情報が欲しいです。

この回答への補足

アドバイスありがとうございます。
置換したいのは、Accessのテーブル内の文字列です。
ただ、私よりもAccess初心者も触るので、テーブルはフォームで簡単に表示させ、
新たに出てきた、置換文字を入力できるようにしておき、ボタンをクリックするだけで、置換出来るようにしたいのです。
文字は50個以上あるので、検索して置換だと、ちょっと厳しいです。
以上、よろしくおねがいいたします。

補足日時:2007/03/26 16:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています