Access 2000での消費税計算方法変更について助言をお願いします!

このQ&Aのポイント
  • Microsoft Access 2000で作成された「見積請求納品システム」を使っています。来月から取引先の一社のみ消費税の計算方法を四捨五入に変更します。
  • マクロ名:計算、アクション:値の代入、アイテム:[Forms]![請新フォーム]![消費税額]、式:Int(CCur([Forms]![請新フォーム]![税抜金額]*0.05))で計算しています。
  • 得意先名テーブルに消費税の扱い方区分を持たせることを検討していますが、具体的な連携方法が分かりません。アドバイスをいただきたいです!
回答を見る
  • ベストアンサー

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

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

noname#137913
noname#137913

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

「消費税区分」が仮に"D"(切り下げ)、"R"(四捨五入)とします。 式は以下のようになります。 IIf([Forms]![請新フォーム]![消費税区分]="D", _ Int(CCur([Forms]![請新フォーム]![税抜金額]*0.05)), _ CLng(CCur([Forms]![請新フォーム]![税抜金額]*0.05))) _(下線)は継続を意味します。実際の定義では続けて1行で 指定してください。IIfはIIf(条件,真の場合,偽の場合)の ように、条件により返す値が違う場合に使います。 「切り上げ」はちょっと難しい(式が長くなる)ので、今回は 記載しませんが、IIfを入れ子にすることで実現できます。

noname#137913
質問者

補足

ありがとうございます!! 数式はnda23さんの文章からコピーしてアンダーバーを消して入力したのであっていると思います!! 請新フォームを開き値を代入したところ ! 型が一致しません。 というエラーが発生しました。 Dについてのことだと思ったので確認しましたが、両方半角で統一されていました。 分かりやすく教えてくださったので申し訳ないですが再度助けていただきたいです!!

その他の回答 (2)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

もしかして、まさかとは思うんですが、 =IIf(~)を入れたのは[消費税額]の方ですよね? [税抜金額]ではありませんね? [消費税額]の方には何かイベントはありますか? 提示した数式は「消費税額」を「税抜金額」から求めるもので、 「税抜金額」自体の求め方は私は知りません。また、知ったと しても、業務に絡む仕様の問題なので、申し上げることも ありません。

noname#137913
質問者

お礼

=IIF(~)を入れたのは[消費税額]のほうです! [消費税額]の方にはイベントは無かったです・・・ 請求書コマンドマクロだけでも100個以上あるのでどこの情報をお伝えして助言頂いたら良いのかも分かりません・・・ 知識が無さ過ぎたので今はシステム自体は変えずにその都度四捨五入の式に変えて印刷だけすることにします!! 少しずつ勉強してシステムも更新していきたいのでまたよろしくお願い致します!! nda23さんありがとうございました!!

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

[税抜金額]がNullになるからでしょう。 普通は金額なので規定値を0にしておくかと思いました。 Nullの場合は計算しないようにする必要があります。 更に外側にIIfをかぶせます。 IIf(IsNull([Forms]![請新フォーム]![税抜金額]),Null, _ IIf([Forms]![請新フォーム]![消費税区分]="D", _ Int(CCur([Forms]![請新フォーム]![税抜金額]*0.05)), _ CLng(CCur([Forms]![請新フォーム]![税抜金額]*0.05)))) >値を代入したところ >型が一致しません。 既に税抜金額が入力されている所は正しく表示されていますか? 何を入力したのでしょう?入力した結果エラーになるとすれば、 他のVBAとかマクロの処理がオカシイのであって、それを調べる べきです。単にNullでエラーなら、該当フィールドに"#エラー"と 表示されるだけです。

noname#137913
質問者

補足

nda23さんご回答ありがとうございます! 何を伝えたらいいのか分からないので分かりにくくて申し訳ないです! アクション:値の代入 アイテム:[Forms]![請新フォーム]![税抜金額] 式:[15]+[610] というマクロもあります! 請新フォームの税抜き金額のプロパティのイベントプロージャを見たら Private Sub 税抜金額_BeforeUpdate(Cancel As Integer) End Sub というものが入っていただけで[15]と[610]が何なのかはわかりませんでした・・・ 自信がないのでまた数式はnda23さんの文章からコピーしました! 税抜き金額を計算する前に 型が一致しません。 とエラーがでます! 入力したのは勤務時間です! 勤務時間を入力すると入力済みの単価と自動的に計算されて小計がでます。 小計の合計が税抜き金額です。 #エラー ではないので請求書コマンドマクロの処理から調べようと思います! 何度も申し訳ありませんが、何を調べたら良いのか教えていただきたいです!

関連するQ&A

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

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

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

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

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

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

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

  • ACCESSのコンボボックスのレコードを変更する方法

    いつもありがとうございます。 以下のような事を行いたいと思っていますがそのようにすればいいでしょうか? ------------------------------ [得意先コード ▽] [得意先名] [<-] [->] ------------------------------ 上記のようなフォームがあります。 コンボボックスで得意先を選択すると、 得意先コード、得意先名が表示されます。 コンボボックスの値集合ソースはSELECT文で定義してありまして、 ここまでは問題なくできています。 問題はここから。 現在 得意先コード 10 得意先名 静岡産業 だったとして、 [<-] をクリックすると 得意先コード 9 得意先名 神奈川商店 [->] をクリックすると 得意先コード 11 得意先名 愛知製作所 というようにボタンをクリックする事で コンボボックスの値を変更するには どんなコードを書けばいいでしょうか?

  • Accessで検索画面を作る方法

    Accessで簡単な検索ができる画面を作りたいのですが 大まかにどのような画面を作成すればいいのかわかりません。 例えば得意先コードを入力すると得意先名がでるような 画面を作りたいのですが・・・ 得意先コードと得意先名がのったテーブルとクエリを1つ作成しました。 その後はどうしたらいいのかわかりません。 フォームで検索できるようにしたいのです。 よろしくお願いします!!

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

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

  • 伝票単位の消費税計算について

    消費税計算について、 今まで伝票単位ということで、明細行数にかかわらず 例えば100行でも1枚として消費税計算していました。 ある得意先について、6行ごとの伝票を使用しているので 6行ごとに消費税を計算して欲しいといわれました。 100行を6行ごとに分けるのは大変なので、同じ伝票 として取り扱いたいのですが、無理やり頁単位で6行毎の 消費税計算は問題ないのでしょうか? よろしくお願いします。

  • 消費税の計算方法について質問があります。

    みなさまはじめまして。 現在私は、某企業にて経理駆け出し社員をやっております。 現在、自社開発のソフトを使用して、請求書を作成しているのですが、少し疑問に思ったことがありますので質問させてください。 4月の消費税の表示方法の変更もあり、現在では消費税こみの単価を入力し(実際には商品を選択すると勝手に入力されるという仕組みですが)、その数量を入力すると自動的に消費税額が計算され、明細単位での消費税の合計額が請求書に記載されるという仕組みになっております。 現在のところは、このシステムでまったくもって問題はないのですが、たとえば、請求書の合計額から消費税額を計算したり、もしくは、伝票単位での消費税の計算というのは、みなさまの会社ではありますでしょうか? また、それはどれくらいの頻度で起こるのでしょうか? もしも得意先に、請求書単位で消費税を出してくれとか、明細単位で消費税を計算してくれなどというリクエストが合った場合、エクセルや、最悪の場合電卓をたたくことになるのかなぁと、少し不安に思っております。 みなさまのお知恵をどうぞお貸しください。 よろしくお願いいたします。

  • 計算はaccessかexcelか

    access2002 excel2002 accessで売上データベースを作っています。 このデータベースからフォームを使って売上や返品をクエリで抽出してexcelに出力しています。 出力されたexcelデータはマクロで体裁を整えて帳票を作成しています。 そこで質問なのですが、消費税を売上から算出してこの帳票に掲載したいのですが、accessで消費税の計算を行ってから出力したほうがいいのでしょうか。それともexcelのマクロ実行時に消費税の計算を行ったほうがいいのでしょうか。 どちらがいいのでしょうか。 よろしくお願いします。

専門家に質問してみよう