質問: accessでreplace関数を使うときに... access2003を使っています。 1つのフィールドに入っている文字列が何種類かあります。 ここでは10種類あるとします。 それぞれ、 在庫あり/在庫わずか/お取り寄せ/商品なし/販売終了/品切れ中4月21日入荷/品切れ中5月14日入荷/品切れ中6月1日入荷/品切れ中7月31日入荷/品切れ中8月31日入荷/ これを、在庫あり/在庫わずか/お取り寄せ は「0」に、それ以外は「1」にしたいのです。 いろいろ調べた結果、replace関数というものを知り、使ってみたのですが、 replace(replace(replace(replace(replace(replace([在庫],"在庫あり","0"),"在庫わずか","0"),"お取り寄せ","0"),"商品なし","1"),"販売終了","1"),"品切れ中*","1") としても、最後の「"品切れ中*"」がうまく働きませんでした。どうやら「*」は使えないようです。 ただ、10種類ならまだ10回カッコを書いていくだけでいいですが、品切れ中の日付が100日分などとなるとそうも行きません。ですので何かいい方法をお持ちの方、おしえていただけませんでしょうか?よろしくお願いいたします。 (特にreplace関数にこだわっているわけではありません。ただ、あまりaccessには詳しくないので、クエリのデザインビューで紐付ける程度のことしかやっておりません。お手数をお掛けしますがよろしくお願いいたします。)
回答: 随分難しく考えていらっしゃる様ですが、下記程度ではいかがでしょうか。ご参考まで。 式1: iif(([在庫] like "在庫*") or [在庫]="お取り寄せ",0,1)