• ベストアンサー

【ACCESS】未定義関数が発生。「最適化/修復」で戻ります。

ACCESSのモジュールで「生年月日」から「年齢」を計算させるために、以下のコードを使用しています。 ----------------------------------------------- Function 年齢(生年月日) As Integer If IsNull(生年月日) Then 年齢 = 0: Exit Function 年齢 = DateDiff("yyyy", 生年月日, Date) If Date < DateSerial(Year(Date), Month(生年月日), Day(生年月日)) Then 年齢 = 年齢 - 1 End If End Function ----------------------------------------------- 通常は普通に使えているのですが、時々「未定義関数"年齢"があります」と出てしまいます。 それを「ツール」→「ユーティリティ」→「最適化/修復」すると普通に使えるようになるのですが、しばらくすると上記メッセージが出て、また繰り返してしまいます。 原因がわからず対処策も立てられない状態です。 お知恵をお貸し頂けると幸いです。

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

  • ベストアンサー
  • gadd3
  • ベストアンサー率46% (211/451)
回答No.1

日本語の関数名や引数名を半角英数のそれらに 直してみてはどうでしょうか? 年齢→nennrei 生年月日→seinenngappi という風でも何でもよいので・・・ あとは、「年齢」と書かれているところを 全て置換すればOKだと思いますけど…。 一応Accessでは日本語の関数名や引数名は使える ことになっているようですが、余計なトラブルも 生みかねないと思うのですが…。 関数内で出ているエラーではないんですよね? 多分・・・。

MAL
質問者

お礼

ご回答、有難う御座いました。 未だ解決には至っておりませんが、自分でもう少し色々と試してみたいと思います。

その他の回答 (1)

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.2

本カテゴリを「最適化 修復」で検索すると多数のQ&Aが表示されます。その中に参考になりそうなものがあるのではないかと思います。   No.1524198 質問:AccessのDB破損に関して お教え願います   http://oshiete1.goo.ne.jp/kotaeru.php3?q=1524198 あたりはいかがでしょうか。

MAL
質問者

お礼

ご回答、有難う御座いました。 未だ解決には至っておりませんが、自分でもう少し色々と試してみたいと思います。

関連するQ&A