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には詳しくないので、クエリのデザインビューで紐付ける程度のことしかやっておりません。お手数をお掛けしますがよろしくお願いいたします。)
No.3
- 回答日時:
質問表現があいまいだが、1(というか各レコードというか)レコードの1フィールドにおいて、/で区切られた文字列のうちのどれか1つが這いいているということですよね。
エクセルでは決った空きの列のせるに項目と隣列に対応コードを入力し、VLOOKUP関数で簡単に索引できる課題ですが、アクセスはVLOOKUPはなく、DLOOKUPは似ているといえます。
しかしアクセスでは文言とコードの対応表をテーブルとしてもって、クエリの画面で
テーブル コード振り
ID文言コード
1aa1
2bb1
3cc2
4dd3
5ee2
6ff2
7gg1
質問ではaa は「在庫あり」にあたる(漢字入力手抜きでこうした)。
ーーー
テーブル 文言索引で
IDコード文言
1aa
2bb
3cc
4ff
5dd
6ee
とあるとする。コード列は空白。
ーーー
クエリで
tableの表示 コード振りと文言索引
文言と文言を結合線を引いておく
コードフィールドで
ビルド画面を出して、
コード: DLookUp(コード振り.コード,"コード振り",コード振り.文言=文言索引.文言)
を入れて、OK
クエリ実行で
IDコード文言
11aa
21bb
32cc
42ff
53dd
62ee
とコードのフィールドにコードが振られる。
クエリをテーブル化も可能。
ーーーー
質問者は、エクセル式発想がアクセスでも、前に出すぎているようだ。
ご回答ありがとうございます。
確かにおっしゃるとおり、ExcelとAccessとごっちゃになるときがよくあります。出来る人はちゃんとそのあたりも区別されているんですね。関数についてはもっと勉強しないとなあとひしひしと感じました。どうもありがとうございました。
No.2
- 回答日時:
標準モジュールに以下を保存します。
Function funcJudge(str As String) As Integer
Select Case str
Case "在庫あり"
funcJudge = 0
Case "在庫わずか"
funcJudge = 0
Case "お取り寄せ"
funcJudge = 0
Case Else
funcJudge = 1
End Select
End Function
この関数をReplace関数のかわりに使用します。
たとえば、クエリで、
SELECT テーブル1.在庫, funcJudge([在庫]) AS 判定
FROM テーブル1;
のように。
ご回答ありがとうございます。
なるほどモジュールを使ったやり方もあるんですね。勉強になります。正直ぱっと見では理解が出来ませんが、ちゃんと復習して理解したいと思います。どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 営業・販売・サービス 入荷がいつになるか分からない問い合わせ 6 2022/12/08 07:55
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- 楽天市場 ネット通販。店舗都合でのキャンセルについて。 3 2023/01/22 14:12
- その他(プログラミング・Web制作) パイソンでのプログラミングについて 3 2022/08/11 20:31
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- ヤフオク! 関税 詐欺でしょうか?ヤフオク 3 2023/06/25 11:22
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- アクセサリ・腕時計 ムーンスウォッチの発売期間について。 スウォッチは恐らくこれまで沢山の種類が発売されてますが、1モデ 1 2023/01/13 19:27
- スーパー・コンビニ 一斉値上 スーパーの食料品 値上や単価の仕組みは? 4 2022/06/01 16:18
- その他(買い物・ショッピング) お歳暮を買いに行ったときのこと 2 2022/12/18 20:35
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
Accessで複数(200件程)の置換
Access(アクセス)
-
-
4
Access2000での未定義関数replaceのエラー表示
その他(Microsoft Office)
-
5
[Access2000] Replace関数がない?
Access(アクセス)
-
6
クエリで「データ型が一致しません」と表示される
その他(データベース)
-
7
「#エラー」の回避
Access(アクセス)
-
8
Access リストから文字の置換(Replace)
Word(ワード)
-
9
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
10
Access テキスト型に対する指定桁での0埋め方法
その他(データベース)
-
11
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
pythonにてseleniumを使うも、...
-
Exel VBA 別ブックから該当デ...
-
chatgptでつくってもらったコー...
-
ExcelのVBAコードについて教え...
-
パイソンプログラム
-
フィルターかけた後、重複を除...
-
1、Rstudioで回帰直線を求める...
-
vb6.0の実行時エラー'3075'につ...
-
Gitのクローンについて
-
特定行の背景色を変えたいのですが
-
Excel VBA素人です。VBAで図形...
-
コンパイルエラー 変数が定義...
-
access2003 クエリSQL文に...
-
楽観的排他処理のためViewState...
-
プレースホルダー
-
CFormViewでの印刷について
-
変数名「cur」について
-
文字コードについて
-
Excel VBAについて
-
SQL
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
Exel VBA 別ブックから該当デ...
-
pythonにてseleniumを使うも、...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
chatgptでつくってもらったコー...
-
欠番の抽出について
-
JANコードとPOSコードは同じ?
-
JavaScriptの定数名が取り消し...
-
1、Rstudioで回帰直線を求める...
-
特定行の背景色を変えたいのですが
-
変数名「cur」について
-
PreviewKeyDownイベントが2回...
-
将来AIが進歩してくるにつれて...
-
ACCESSユニオンクエリでORDER B...
-
COBOLの文法
-
VBAでファイルオープン後にコー...
-
Nullの使い方が不正です。
おすすめ情報