Access2000での請求書作成における税区分の問題と解決方法

このQ&Aのポイント
  • Access2000で請求書を作成している際に、税区分によって消費税の計算方法が異なる問題が発生しています。
  • 特定のフォームで税区分を選択し、消費税額を自動計算する仕組みを作成していましたが、関数が見つからないというエラーが表示されます。
  • モジュールで作成した関数が正しく機能しない原因と解決方法についてご教示ください。
回答を見る
  • ベストアンサー

税区分によって消費税を区別

見積請求納品システムというアクセス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 が見つけることができない関数名が含まれています。」 となり上記のアイテムと式が表示されます。 モジュールで関数を作成したのにどうしてできないのでしょうか・・・ 教えてください!!!

noname#137913
noname#137913

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

  • ベストアンサー
回答No.1

モジュールの関数は使わずに、 ただ単に、消費税額の計算をするというのはどうでしょうか。 [Forms]![請新フォーム]![消費税額] =IIF([Forms]![請新フォーム]![税区分]=1,INT([Forms]![請新フォーム]![税抜金額]*0.05), IIF([Forms]![請新フォーム]![税区分]=2,INT([Forms]![請新フォーム]![税抜金額]*0.05+0.9), IIF([Forms]![請新フォーム]![税区分]=3,0,""))) をフォーカス喪失時イベントのコードに書いてしまうっていうのはどうですか。

その他の回答 (3)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

補足 数年後、5%が変わる可能性あり、です。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

そのメッセージで検索かけると事例がありますから、 それに適合しているかみてみる。 accessclubで No39660.マクロ実行時「指定した式に、MicrosoftAccessが見つけることができない関数が含まれています。」表示 など。 関数の名前「TAX」を変えてもダメなレベルですか?。

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

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

関連するQ&A

  • 20年近く使い続けた請求書システムを変えることに抵抗があり、新しいフォ

    20年近く使い続けた請求書システムを変えることに抵抗があり、新しいフォームを付け加えることなどで対応できないか考えています・・・良い案があったら教えてください! 以下の順序で請求先によって消費税の計算方法を区別しようとしたのですが、中身が大幅に変わることで後々の不具合などに応対できるか心配で、他の案を探しています! 1標準モジュールに以下のコードを作成しました。 Public Function TaxInterPre(iNum As Variant, cVal As Variant) As Currency On Error Resume Next TaxInterPre = 0 If (IsNull(iNum) Or IsNull(cVal)) Then Exit Function Select Case iNum Case 1 TaxInterPre = Int(cVal) Case 2 TaxInterPre = funcSG(cVal) End Select End Function Public Function funcSG(ByVal xCy As Currency) As Currency If xCy > 0 Then xCy = Int(xCy + 0.5) Else xCy = Int(xCy - 0.5) End If funcSG = xCy End Function 2得意先名テーブルに税区分フィールドを追加し、入力規則を1 Or 2としました。 3請新フォーム(請求書新規作成)と請修フォーム(請求書修正)のレコードソースとなっているクエリにそれぞれ税区分フィールドを追加しました。 4以下のマクロを作成しました。 アクション 値の代入 アイテム [Forms]![請新フォーム]![消費税額] 式 TaxInterPre ( [税区分] , Forms![請新フォーム]![税抜金額] *0.05) アクション 値の代入 アイテム [Forms]![請修フォーム]![消費税額] 式 TaxInterPre ( [税区分] , Forms![請修フォーム]![税抜金額] *0.05) 5得意先名登録フォームに税区分フィールドを追加しました。

  • 取引先の消費税の計算方法を四捨五入と切り捨てに区別

    MicrsoftAccess2000「見積請求納品システム」を使用しています。 取引先の消費税の計算方法を四捨五入と切り捨てに区別したいです。 以前にも同じ質問をしたのですが、難しい為諦めました・・・。 ですが、やはりシステムの変更が必要なので教えてください! Module1に以下の式があります。 Public Function funcSG(xCy As Currency) As Currency If xCy > 0 Then xCy = Int(xCy + 0.55) Else xCy = Int(xCy - 0.55) End If funcSG = xCy End Function 請求書コマンドマクロは以下のようになっています。 マクロ名 計算 アクション 値の代入 アイテム [Forms]![請新フォーム]![消費税額] 式 funcSG([Forms]![請新フォーム]![税抜金額]*0.05) アイテム [Forms]![請修フォーム]![消費税額] 式 funcSG([Forms]![請修フォーム]![税抜金額]*0.05) 今は全て四捨五入されるようになっていると思うので、切り捨てもできるようにしたいです。 得意先テーブルに消費税区分を設けて区別したいです! 宜しくお願い致します!

  • MicrosoftAccess2000 消費税の計算方法 他の方法を教えてください

    MicrosoftAccess2000「見積請求納品システム」を使用しています。 来月から取引先の一社のみ消費税の計算方法を四捨五入に変更します。 知識不足のためシステム自体の変更は諦めました。 1.通常通り作成 2.印刷前にデスクトップに見積請求納品システムのコピー作成。 3.請求書コマンドマクロのデザインビューを開く。 マクロ名:計算2 アクション:値の代入 アイテム:[Forms]![請修フォーム]![消費税額] 式:Int(CCur([Forms]![請修フォーム]![税抜金額]*0.05)) 4.上記に該当するマクロの式を下のように変更。 round([Forms]![請修フォーム]![税抜金額]*0.05,0) 5.工数・数量を再入力して四捨五入されたデータを作成。 6.それを印刷して終了。 今は上記の方法しか思いつかないのですが他にあれば教えてください!!

  • Access 2000一社のみ消費税計算方法変更 助言頂きたいです!!!

    Microsoft Access 2000で作成された「見積請求納品システム」を使っています。 来月から取引先の一社のみ消費税の計算方法を四捨五入に変更します。 「請求書コマンドマクロ」で マクロ名:計算 アクション:値の代入 アイテム:[Forms]![請新フォーム]![消費税額] 式:Int(CCur([Forms]![請新フォーム]![税抜金額]*0.05)) で計算しています。 他の質問を見ると、得意先名テーブルに消費税の扱い方区分を持たせると書いてあったので 得意先コード テキスト型 得意先名   テキスト型 略称     テキスト型 郵便番号   テキスト型 住所1    テキスト型 住所2    テキスト型 電話番号   テキスト型 振込先コード テキスト型 消費税区分  テキスト型 としてみましたが、この後何をどうつなげたらいいのか分かりません・・・ まずまとをえた質問をする為にも、助言頂きたいです!!!

  • 消費税

    いつもお世話になります。 開業して間もない会社なのですが、先日領収証の整理をしていたところ、司法書士に支払った(定款作成や登記手続き等一式)、それから某会社に支払った(駐車場にしたい土地の調査代の料金)を請求書の額面通りに支払っていました。 後で、これらは支払の際請求金額から10000円引いた額の10%を消費税として差し引いて支払い、翌月10日までに納付することを知りました。帳簿も普通に5%の消費税でつけてました。。。 これは、あきらめて今からでも相当金額を負担して納付した方がいいのでしょうか?

  • アクセスクエリでの空白の値の表示

    フォームで条件フィールドから2つ同時の検索をかけたく クエリに以下の式を記載致しました。 検索はかかるのですが空白のデータがでてきません。 空白のデーターも表示させたいためにはどうしたらいいでしょうか? 式1: IIf(IsNull([Forms]![フォーム]![条件1]) And IsNull([Forms]![フォーム]![条件2]),True,[条件]=[Forms]![フォーム]![条件1]Or [条件]=[Forms]![フォーム]![条件2] 抽出条件  True

  • 請求書での消費税計算について

    自営業者で、エクセルで請求書を作成しており、 2024年1月から適格請求書発行事業者となります。 適格請求書対応の為、請求書の見直しを行っているのですが1点質問があります。 <質問> ==========================================  ●伝票毎に消費税を計算する場合も想定しておいた方が良いでしょうか?   現在の取引先は全て、月の伝票金額合計に対し消費税を計算しています。(税区分毎の合計に対して計算)   ただ、昔は以下のような伝票毎に消費税を計算されている取引先がありました。    ・伝票金額毎に消費税を計算    ・伝票の1行毎に消費税を計算(1つの伝票に複数商品)    ※支払いが上記の計算方法でされてくるので、     弊社で作成する請求書もそれに合わせた消費税計算を行っていました。 ==========================================

  • 「消費税別途」で消費税額が書かれていない場合は?

    初めて質問します。 個人業務委託契約を締結した際に契約書に「消費税別途」と 記載されていますが具体的な金額が明記されていません。 (例:報酬額100,000円、消費税別)こういう場合の源泉税の 取扱いはどうなるのでしょうか。 参考書等ではよく 【ただし、請求書等において、報酬・料金等の額と消費税等 の額が明確に区分されている場合には、その報酬・料金等の 額のみを源泉徴収の対象とする金額として差し支えありません。】 書かれていますが今回のケースは"明記"にあたるのでしょうか?

  • IIFのTRUE時に、2つのデータを対象としたい

    アクセスで管理簿を作成しています。 テーブル→クエリ→フォームと作成しています。 テーブル    請求の有無 処理状況 ・・・・・・・ 1  未請求      2  請求中     完了 3            未完了 4   済       完了 抽出フォーム  テキストボックス 請求の有無 [select請求の有無]             処理状況  [select処理状況] このようなテーブル、フォームを作っています。 クエリに、 Like IIf(IsNull([Forms]![F_メニュー]![select請求の有無]),"*",[Forms]![F_メニュー]![select請求の有無]) Like IIf(IsNull([Forms]![F_メニュー]![select請求の有無]),Null,[Forms]![F_メニュー]![select請求の有無]) Like IIf(IsNull([Forms]![F_メニュー]![select処理状況]),"*",[Forms]![F_メニュー]![select処理状況]) Like IIf(IsNull([Forms]![F_メニュー]![select処理状況),Null,[Forms]![F_メニュー]![select処理状況]) と2つのフィールドに抽出条件を2行ずつ記載していますが、SQLをみると、 抽出条件が最終的に、    select請求の有無"*" and select処理状況"*" or  select請求の有無Null and select処理状況Null という条件になっており、1行目や3行目の様に、NULL+データありが抽出できません。 Like IIF(IsNull(フォームA), NULL と"*" ,フォームA)                  ↑↑↑  この部分をNULLと"*"の両方とするような記述方法はありますでしょうか? ご教示の程よろしくお願い致します。

  • ACCESSのあいまいな条件のクエリ 

    フォームで金額を入力します。 この入力された金額を使ってクエリの条件を作りたいと考えています。 <条件> ・金額が未入力の場合は、全て抽出。 ・金額が入力されている場合は、その金額以上を抽出   (例:1000と入力された場合は、>=1000) 下記のような条件式を入れたら、金額を入力しているにも関わらず、 何も入力されてきませんでした。 IIf(IsNull([Forms]![フォームA]![txt金額]),Like "*",>=Val([Forms]![フォームA]![txt金額]))

専門家に質問してみよう