システムメンテナンスのお知らせ

見積請求納品システムというアクセス2000で請求書等を作成しています。
(Windows XP home edition)
その中で今回関係するのは
得意先名テーブル
請新フォーム
請修フォーム
だと思いますが補足が必要かもしれません。

1.アクセスのモジュールにTax関数を作成しました。

Public Function Tax(Anum As Variant, Bnum As Variant) As Currency
On Error Resume Next
Tax = 0
If (IsNull(Anum) Or IsNull(Bnum)) Then Exit Function
Select Case Anum
Case 1
Tax = Int(Bnum)
Case 2
Tax = Int(Bnum + 0.9)
Case 3
Tax = Format(Bnum, "0")
End Select
End Function

2.得意先名テーブルに税区分フィールドを作成しました。

3.請求書新規作成フォームと請求書修正フォームのレコードソースとなっているクエリに税区分フィールドを追加しました。

4.請求書新規作成フォームと請求書修正フォームの工数・数量、単価、金額(それぞれ1~10)のテキストボックスのフォーカス喪失時イベントにあるマクロを以下のようにしました。

アイテム [Forms]![請新フォーム]![消費税額]
式     Tax([税区分],[Forms]![請新フォーム]![税抜金額]*0.05)
アイテム [Forms]![請修フォーム]![消費税額]
式     Tax([税区分],[Forms]![請修フォーム]![税抜金額]*0.05)


上記のようにしてフォームで工数・数量、単価、金額のいずれかを入力すると
「指定した式に、Microsoft Access が見つけることができない関数名が含まれています。」
となり上記のアイテムと式が表示されます。

モジュールで関数を作成したのにどうしてできないのでしょうか・・・
教えてください!!!

gooドクター

A 回答 (4件)

モジュールの関数は使わずに、


ただ単に、消費税額の計算をするというのはどうでしょうか。

[Forms]![請新フォーム]![消費税額]
=IIF([Forms]![請新フォーム]![税区分]=1,INT([Forms]![請新フォーム]![税抜金額]*0.05),
IIF([Forms]![請新フォーム]![税区分]=2,INT([Forms]![請新フォーム]![税抜金額]*0.05+0.9),
IIF([Forms]![請新フォーム]![税区分]=3,0,"")))

をフォーカス喪失時イベントのコードに書いてしまうっていうのはどうですか。
    • good
    • 0

補足



数年後、5%が変わる可能性あり、です。
    • good
    • 0

そのメッセージで検索かけると事例がありますから、


それに適合しているかみてみる。

accessclubで
No39660.マクロ実行時「指定した式に、MicrosoftAccessが見つけることができない関数が含まれています。」表示

など。

関数の名前「TAX」を変えてもダメなレベルですか?。
    • good
    • 0

もしかしてこれ?



YU-TANG さんのホームページ
クエリー実行時の関数エラー
http://www.f3.dion.ne.jp/~element/msaccess/AcTip …
のNo2、モジュール名とユーザー定義関数名が同一である
(上から1/3くらいのところ)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

gooドクター

人気Q&Aランキング