• ベストアンサー

Access2000での未定義関数replaceのエラー表示

Access2000での未定義関数replaceのエラー表示 Access 2000を使用しています。 昨日まで順調に作業していましたが、本日クエリを実行したところ、「式に未定義関数replaceがあります」とエラー表示され、先に進めなくなってしまいました。 なぜ急にこのエラーメッセージが出たのか不思議です。 なにか対処方法があったら、教えていただければ幸です。

  • oraho
  • お礼率69% (118/169)

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

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

http://www.f3.dion.ne.jp/~element/msaccess/AcTipsQryHowToUseNewFunctionsOnQuery.html 端末にアップデートをかますか、 function rpl(a,b,c) as string rpl = replace(a,b,c) end function みたいなファンクションを作って、クエリをrplに書き直すか、、、

oraho
質問者

お礼

お礼が遅くなり申し訳ありません 教えていただいたVBのUpdateをおこなったら解決しました 本当にありがとうございます

その他の回答 (1)

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.2

参照設定に参照不可になっているものがありませんか? 確認してみてください。

oraho
質問者

お礼

参照は間違いありませんでした VBをUPDATEしたら解決しました ありがとうございます

関連するQ&A

  • [Access2000] Replace関数がない?

    レコードの特定文字列を置換しようと思い、いろいろ調べたところ、Access2000から「Replace」関数というのが使えるようになったとのこと。 早速クエリーで使用したところ、「式の中に未定義関数 Replace があります」というエラー表示が…。式ビルダの組み込み関数を確認しましたが、Replaceという関数はやはり存在しないようです。 何か間違っているのでしょうか?お力添えいただければ幸いです。

  • アクセスでReplace関数を使用しているクエリがエクセルに読み込めない

    ヴァージョンは2003です。 アクセスのクエリをエクセルへ落としたいので エクセル→データ→外部データの取り込み→新しいデータベースクエリでアクセスのファイルを選択し、 読み込みたいクエリを選択して「>」を押すと 『式に未定義関数 'Replace' があります。 』 と言うメッセージがでてしまい回避できません。 たしかにそのクエリではReplace関数を使用しています。 しかしアクセスでは問題なく表示できます。 アクセスに戻り、指定のクエリからReplace関数をなくせば エクセルに読み込むことができます。 以上 回避方法をご存知の方、 ヒントだけでもいいのでご教授よろしくお願い致します。

  • Accessで式に未定義関数Formatがあります

    Access2003で使用していたクエリを、Access2013で開くと、「式に未定義関数Formatがあります」の表示がされて使用することができません。このクエリでは確かにFormat関数は使用しております。対処方法がお分かりになればご教授いただけると助かります。なお、当方VBAとSQLは使えませんのでクエリデザインでの対処方法をご教授いただけると助かります。 よろしくお願いいたします。

  • Access2002 Insert関数が未定義関数となり、エラー

    XP Access2002です。 ランキング形式のテーブルから、クエリを作成しています。 クエリでの表示は A1 となっているのですが、それにハイフン「-」を入れて、A-1としたいです。 「A1」は、テーブル名:「ランク」内のフィールド名:「順位」 SQLビューで insert(ランク!順位,2,0,'-') AS ランキング としたのですが、結果は、未定義関数と出てしまいます。 InsertをReplaceに変更したら、今度はアラーとは出ませんが、表示画面では、エラー表示になってしまいます。 構文が違うのでしょうか? SQLを使っていて、『未定義』とアラートが出たのは初めてですので、戸惑っています。

  • アクセスでコンパイルエラーが表示されます

    日付型で作成している「outdate」という項目(2006/07/11のように格納されています)の年だけを抽出しようとクエリーを作成し、式1:Year([outdate])としています。 実行すると「クエリ式’Year([outdate])’のコンパイルエラー」と表示されます。 同じく、テキスト型の項目から式2:Left([color],5)というような関数を使用したクエリーを作成して実行しても同じ「クエリ式’Left([color],5)’のコンパイルエラー」と表示されるエラーメッセージがでます。 どうしてなのでしょうか? 使用ソフトはACCESS2003アカデミックパックです。 何か制限あるのでしょうか?

  • ACCESS 関数

    フォームのテキストボックス「text2」のコントロールソースに =roundup([text1]/1.05,0) と書いて実行したら「#NAME?」エラーになりました。試しにクエリに field2:roundup([field1]/1.05,0) と書いて実行したら、実行時に「式に未定義関数'roundup'が」あります」とエラーになりました。 ヘルプを見ると「この関数からエラー値 #NAME? が返された場合、msowcf.dll をセットアップしなければならないことがあります。」と書かれています。 検索したら、このファイルは「C:\Program Files\Microsoft Office\Office」内にありました。 モジュールの参照設定で上記ファイルを登録したところ「Microsoft Web Components Function Library」にチェックが付きました。 改めてフォームとクエリを実行しましたが結果は同じでした。 どうすればROUNDUP関数を使えるようになるでしょうか。 ACCESS2000です。よろしくお願いします。

  • 自作関数を含んだクエリをエクセルからADODBで呼び出すとエラーになる

    MS-ACESS2000を使用しています。 自作関数を含んだアクセスのクエリをエクセルから、ADODBを使って呼び出そうと すると・・・ ===================================== 実行時エラー:'-2147217900(8004e14)' 式に未定義関数'koteityo'があります ===================================== というエラーが発生します。 自作関数名:koteityo モジュール名:Mdl です。 自作関数を含んだアクセスのクエリは、アクセス上ではちゃんと動いています。エクセルに呼び出そうとすると、上記のエラーが出てしまいます。 是非とも、教えてください。

  • 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には詳しくないので、クエリのデザインビューで紐付ける程度のことしかやっておりません。お手数をお掛けしますがよろしくお願いいたします。)

  • Access97のクエリ内でのStrConv関数について

    Access97でクエリ内で文字の長さを判定しようとして いたのですが、Strconv関数の妙な挙動に戸惑っています。 barというテキスト型のフィールドをもつfooという テーブルを定義して、"1","22","333","4444"という 4つのレコードを作成します。 そして下記のようなクエリを作成し実行します。 SELECT foo.bar, LenB(StrConv([foo].[bar],128)) AS 式1, StrConv(StrConv([foo].[bar],128),64) AS 式2 FROM foo; すると、結果は下記のようになってしまいます。 bar |式1|式2 ------------ 1 | 0| 22 | 2|22 333 | 2|? 4444| 4|? 式1は奇数Byteの結果が、式2は"22"以外の結果が 正しくありません。 このようになってしまう理由と、対処方法を教えて ください。 環境は Windows2000ProSP4, Access97SR2 です。 ちなみにAccess2000で実行すると、正しい結果が 表示されます。

  • ACCESSでの関数について

    EXCELではROW()関数で行数を付けることが出来ますが、ACCESSで同様の方法はあるのでしょうか。クエリでROW関数を入れると未定義と出ますし、テーブルにオートナンバーの行を付けて、データを一度クエリで削除した後追加クエリを実行しても1からの連番にならないので困っています。 クエリでROW()関数と同じ方法、またはテーブルでオートナンバーを1からふり直す方法があれば教えてください。

専門家に質問してみよう