• ベストアンサー

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

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

noname#137913
noname#137913

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

考え方だけでいいですか。 いろいろな方法はあると思いますが、私なら・・・ということで、外していること大 取引先テーブルの項目に、「加算」を追加します。 四捨五入する取引先の「加算」を、「0.5」に設定し、他を「0」としておきます。 式のところで、 Int(CCur([Forms]![請修フォーム]![税抜金額]*0.05)+DLookUp("加算","取引先テーブル","取引先名='" & [Forms]![請修フォーム]![取引先名テキストボックス名] & "'")) としてみるとか。 ※   "取引先名='" & [Forms]![請修フォーム]![取引先名テキストボックス名] & "'"  部分は、  "取引先ID=" & [Forms]![請修フォーム]![取引先IDテキストボックス名] でも 外していましたら、スルーしてください。

noname#137913
質問者

お礼

取引先テーブルの項目に、「加算」を追加しました。 長整数型にすると0.5が入力できないので倍精度浮動小数点型にしました。 請求書コマンドマクロを アイテム:[Forms]![請修フォーム]![消費税額] 式:Int(CCur([Forms]![請修フォーム]![税抜金額]*0.05)+DLookUp("加算","得意先名テーブル","得意先名='" & [Forms]![請修フォーム]![得意先名] & "'")) としました。 この式にすると他の方が作成する時に通常通り作成できるので、こちらの方法でやってみようと思います! ご指導ありがとうございました!!

その他の回答 (4)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.5

Accessが確認できない関数がある、とエラーを だすようであれば、Functionの先頭にPublic をつけて、 Public Function func四捨五入(xCy As Currency) As Currency If xCy > 0 Then xCy = Int(xCy + 0.55) Else xCy = Int(xCy - 0.55) End If func四捨五入 = xCy End Function のように、してみてください。 また、関数名を変更した場合も 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 のようにします。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.4

関数の名前の変更はコードの名前を以下のように 変更してから使います。 もとはfunc四捨五入ですが、funcSGとすれば 書き間違いが起こりにくいので、 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 このように変更しておいて実際場面で使って みてください。 funcSG([Forms]![請修フォーム]![税抜金額]*0.05) もちろんfunc四捨五入でもかまいません。 いろいろ伝えてすみません。

noname#137913
質問者

お礼

関数の名前の変更をしたらできました! ありがとうございます! 他の社員が通常通り作成できるので 0.5を足す方法で進めることにしました! そうすると、これからは得意先名登録時に 加算フィールドに入力することになります・・・ まだフォームに追加していないので まだまだ改良すべきところがありそうです・・・ またご指導宜しくお願い致します!!!

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

登録の仕方を記しておきます。 (1) データベースウィンドウの右側の モジュールという項目をクリックします。 (2) 新規作成をクリックすると、コードを 書き込むページが開かれます。 (3) そこに、コードを貼り付けます。 (4) 上書き保存をクリックします。 (5) モジュール1とかで保存するか聞いて きます。 (5) はいを押して保存します。 (6) 保存されたモジュールを開いて 関数があるか確認します。 なければ、貼り付けて保存してください。 一応、ここまで確認してください。 マクロを実行してみてください。 中身のないモジュールは 削除していいです。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

以前の質問を見ていましたが、 一社のためのシステムの変更は 大変だなと思いました。 システムの手直しは先にしておいて、 えー、他の方法と言われても何か 他に応用ができるものがいいのでしょうが、 マクロはまったくと言っていいほど 使わないので、気がついた点について 関数を提案します。 消費税の計算は、四捨五入、切り上げ、切り捨て、 によって計算が異なりますが、四捨五入という ことで、以下にします。 いろいろ方法はありますが、round関数は 使わないでください。round関数について 思った丸めは出来ません。そのかわり 関数を設定します。Int関数あるいは Fix関数を使用して関数を作ります。 簡単なところで、以下の関数があります。 0.55を足したり引いたりして端数の 四捨五入の処理を行います。 Function func四捨五入(xCy As Currency) As Currency If xCy > 0 Then xCy = Int(xCy + 0.55) Else xCy = Int(xCy - 0.55) End If func四捨五入 = xCy End Function この関数を標準モジュールに貼り付けます。 使い方は、たとえば、 Forms![frm納品]![frmsub納品書明細].Form.[当該掛売単価] = func四捨五入([設定単価]*0.75) のように掛売りなどの場合に少数点以下が発生 するような掛売単価の設定などの場合に使用します。 したがって、この場合は、 func四捨五入([Forms]![請修フォーム]![税抜金額]*0.05) func四捨五入という関数名は適当に変更 してください。 この関数は、関数内の0.55を変更すると 他の場合にも使用できます。 また、先の話として、このような関数を いくつか作っておいて、顧客テーブルに 消費税計算定義を作って、顧客毎に 計算方法を変更できるようにするという ことも視野にいれておいてはいかが でしょうか。実際にこのようにしている ところもあります。少しVBAを使います。 また機会があれば、では。

noname#137913
質問者

補足

他の人が請求書を作成する時のために、もっと簡単な方法を見つけたいと思っています。 Accessのオブジェクトのモジュールで新規作成しpiroin654さんのおっしゃっていた式を貼り付けました。 ただ閉じるとモジュールが作成されないようなので「見積納品請求システムの上書き保存」をしました。 5つくらい作成されてしまったので中身を確認して「Module1」という名前で一つだけにしました。 請求書コマンドマクロの アイテム:[Forms]![請修フォーム]![消費税額] の式を func四捨五入([Forms]![請修フォーム]![税抜金額]*0.05) にしました。 工数・数量を入力して四捨五入のデータを作成しようとすると 指定した式にMicrosoftAccessが見つけることのできない関数名が含まれています。 というエラーになります。 一応IT辞典で標準モジュールについて調べたのですがいまいち分からなかったので式を入力する場所が間違っているのでしょうか・・・ 将来的には顧客毎に計算方法を変更したいです! ご指導宜しくお願い致します!

関連するQ&A

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

    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) 今は全て四捨五入されるようになっていると思うので、切り捨てもできるようにしたいです。 得意先テーブルに消費税区分を設けて区別したいです! 宜しくお願い致します!

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

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

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

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

  • 売上金額に対する消費税計算

    お世話になります。 請求書を作成するのに 個々明細に5%掛けるのがいいのか? 合算に5%掛けるのがいいのか? 消費税は四捨五入か切り捨て?切り上げ?か 何が一般的なのか困っています。 (またはこうしなきゃいけない!ってものがあるのでしょうか?) 色んな業種で何か決まりがあるのでしょうか? 教えて下さい。

  • Excelで消費税抜きの価格を計算する方法について

    Excelで請求書を作成しているんですが、今月から、 交通費(高速代)を、税抜き価格で表示して欲しいと、 取引先の方から、言われました。 現在、交通費(高速代)は、消費税込みなっています。 税込み価格を入力すると、税抜き価格に変更する方法が、 あれば教えて下さい。 Excelは、初心者レベルなので、計算式が分かりません。 交通費(高速代)はK列に入っています。 K列の12行目には「高速代」と入力してあります。 小数点以下は四捨五入にしたいです。 出来れば、一括で変更をしたいと思っています。 至急、よろしくお願いいたします。 ※色々、私なりにインターネットで調べたのですが、税込み金額の列の隣に表示される税抜き金額の方法しか見つけることが出来ませんでした。

  • 消費税率5%の金額を算出する計算の仕方

    たとえば、消費税込み金額¥38300 Q1:消費税率5%なので、端数は四捨五入でしょうか?   38300 X 0.05 = 1915 Q2:消費税率5%なので、   まず、税抜金額を計算する、端数は四捨五入でしょうか?   38300 / 1.05 =36476.1904   次に、税額を計算する   38300 - 36476 = 1824 Q3:同じ消費税率5%でも上記の例では金額が異なります、    Q1では1915円    Q2では1824円    です。どちらで計算するほうが有利でしょうか?

  • 納品書が複数枚ある時の、請求書の消費税計算は

    エクセルの消費税計算で悩んでいます。 納品書1枚に対して請求書1枚であれば全く問題ないのですが、同じ得意先で1カ月の間に納品書を複数枚発行して、月末に納品書の合計から請求書を1枚作成するパータンで困っています。 納品書毎に注文合計金額に対する消費税計算を=rounddown(合計金額のセル*0.08.0)で作成発行した場合、月末に納品書すべての注文合計金額に対して消費税計算を=rounddown(合計金額のセル*0.08.0)にすると消費税に誤差が発生します。 回避するために、納品書は税抜きのままの合計金額だけにして、月末に注文合計金額に対する消費税計算で請求書を発行する。(お客様に税抜きの納品書を発行) あるいは請求書に納品書毎の注文合計金額、消費税を小計として作成して、請求書は注文金額合計を全部足して総計として、消費税も同様に納品書すべての消費税を足せばつじつまがあうのですが。 皆さんは、このような場合、請求書の消費税計算はどう処理しているのでしょうか。 よろしくお願いいたします。

  • 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得意先名登録フォームに税区分フィールドを追加しました。

  • 納品書の消費税について

    自営業を営んでいます。 これまで、納品書は消費税抜きの価格だけを記載し、請求時にまとめて合計金額に消費税をかけて請求していました。このやり方に問題はないのでしょうか? 毎回の納品書に消費税をかけて請求すると、端数を切り捨てる為、請求時に合計の税抜き価格に消費税をかけた金額と誤差が発生してしまいますよね?この場合はどうしたら良いですか?

  • 消費税 Excel 単純な計算式を教えてください

    今、請求書のもと(ひな形)を作成中ですが 消費税の記載の部分で、計算式が出てこなくて手が止まってしまいました・・・ 10,000*1.05=10,500 ってのは、簡単なのでわかります。 私が求めたい金額は・・・下記のような感じです      E    F    G 4  金額   消費税 合計 5  10,500  500   34,750 と言う感じで、F5に税抜きの、税金の部分だけを求めたいんです。 E5に入力した数字から、F5を求める計算式を教えて頂けませんか? 小学生レベルかもしれませんが、そんなに複雑な計算式ではなかったと思いました・・・ ど忘れしてしまって、うまく入力できません・・・ 分かるかた、教えて頂けませんか? ※ちなみに、四捨五入や小数点繰り上げ(ROUND関数等)を考慮に入れてません。

専門家に質問してみよう