• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AccessでReplace関数を使うときに…)

AccessのReplace関数を使うときに注意すべきポイントとは?

このQ&Aのポイント
  • Access2003を使用している場合、フィールド内の文字列を置換する必要がある場合、Replace関数を使用することができます。
  • ただし、Replace関数ではワイルドカード「*」を使うことはできません。
  • したがって、品切れ中の日付が複数存在する場合、個別にReplace関数を記述する必要があり、煩雑になる可能性があります。代替案をご存知の方は教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

随分難しく考えていらっしゃる様ですが、下記程度ではいかがでしょうか。ご参考まで。 式1: IIf(([在庫] Like "在庫*") Or [在庫]="お取り寄せ",0,1)

qwerqwer15
質問者

お礼

ご回答ありがとうございます。 そうですまさにこういうことをやりたかったのです。どうやらIIFは基本的なことのようですね…。でも知らなかった私にはとてもありがたかったです。どうもありがとうございました。それからもうちょいAccess勉強します。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

質問表現があいまいだが、1(というか各レコードというか)レコードの1フィールドにおいて、/で区切られた文字列のうちのどれか1つが這いいているということですよね。 エクセルでは決った空きの列のせるに項目と隣列に対応コードを入力し、VLOOKUP関数で簡単に索引できる課題ですが、アクセスはVLOOKUPはなく、DLOOKUPは似ているといえます。 しかしアクセスでは文言とコードの対応表をテーブルとしてもって、クエリの画面で テーブル コード振り ID 文言 コード 1 aa 1 2 bb 1 3 cc 2 4 dd 3 5 ee 2 6 ff 2 7 gg 1 質問ではaa は「在庫あり」にあたる(漢字入力手抜きでこうした)。 ーーー テーブル 文言索引で ID コード 文言 1 aa 2 bb 3 cc 4 ff 5 dd 6 ee とあるとする。コード列は空白。 ーーー クエリで tableの表示 コード振りと文言索引 文言と文言を結合線を引いておく コードフィールドで ビルド画面を出して、 コード: DLookUp(コード振り.コード,"コード振り",コード振り.文言=文言索引.文言) を入れて、OK クエリ実行で ID コード 文言 1 1 aa 2 1 bb 3 2 cc 4 2 ff 5 3 dd 6 2 ee とコードのフィールドにコードが振られる。 クエリをテーブル化も可能。 ーーーー 質問者は、エクセル式発想がアクセスでも、前に出すぎているようだ。

qwerqwer15
質問者

お礼

ご回答ありがとうございます。 確かにおっしゃるとおり、ExcelとAccessとごっちゃになるときがよくあります。出来る人はちゃんとそのあたりも区別されているんですね。関数についてはもっと勉強しないとなあとひしひしと感じました。どうもありがとうございました。

すると、全ての回答が全文表示されます。
  • piroin654
  • ベストアンサー率75% (692/917)
回答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; のように。

qwerqwer15
質問者

お礼

ご回答ありがとうございます。 なるほどモジュールを使ったやり方もあるんですね。勉強になります。正直ぱっと見では理解が出来ませんが、ちゃんと復習して理解したいと思います。どうもありがとうございました。

すると、全ての回答が全文表示されます。

専門家に質問してみよう