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)
今は全て四捨五入されるようになっていると思うので、切り捨てもできるようにしたいです。
得意先テーブルに消費税区分を設けて区別したいです!
宜しくお願い致します!
No.21
- 回答日時:
【つづき】
#16,17では、コントロールソースへの書き方にしていましたが、
マクロで値を代入する式のところには、先頭の = を削除したものを指定してください。
例)
アクション: 値の代入
アイテム: [消費税額]
式: TaxInterPre([税区分],[税抜金額]*GetTax([日付]))
で良さそうですが・・・
>「txtax」も作成しました。
ということなら、
式: TaxInterPre([税区分],[税抜金額]*[txtax])
でも。
※税区分を消費税のように履歴を持てる形ではない、のですよね。
「税区分」の内容が、文字列の様なので、GetTaxDiv に変更が必要になります。
わからない点等は、また記述してください。
この回答への補足
30246kikuさんいつもありがとうございます!(5/20 15:50)
頭の整理をする為にもう一度以下のようにやり直しました。
T消費税の作成 #16参考
↓
TaxInterPre/GetTax/funcSGという名前のモジュールを作成
(TaxInterPre funcSGは#12、GetTaxは#16参考)
↓
得意先名テーブルに税区分(数値型)追加
↓
請求書明細クエリーと請求書指定明細クエリーに税区分追加
↓
マクロ作成
アクション:値の代入
アイテム:[Forms]![請新フォーム]![消費税額]
式:TaxInterPre([税区分],[Forms]![請新フォーム]!
[税抜金額]*GetTax([Forms]![請新フォーム]![日付]))
アクション:値の代入
アイテム:[Forms]![請修フォーム]![消費税額]
式:TaxInterPre([税区分],[Forms]![請修フォーム]!
[税抜金額]*GetTax([Forms]![請修フォーム]![日付]))
以上の様にしたところ、請新フォームは得意先ごとに区別して
税計算をするようになりました!
次に請修フォームで値を入力してみると
「このオブジェクトに値を代入することはできません。
※指定したオブジェクトは、読み取り専用フォーム上のコントロールです。
※デザインビューで開いているフォーム上のオブジェクトです。
※指定した値が大きすぎるために、このフィールドに代入できません。」
となります。通常通りの値を入力しているので大きすぎることは無いです・・・
アクションの実行エラーは
請求書コマンドマクロ.計算2
条件:True
アクション名:値の代入
引数:[Forms]![請修フォーム]![税抜金額],[15]+[610]
です。
請新フォームではできたので、なかなか理由が見つかりません。
宜しくお願いします!
30246kikuさんいつもありがとうございます!(5/20 16:18)
請新フォームにコピーというコマンドボタンがあり、
先月分の請求書をコピーして今月分の請求書を作成しています。
そのコピー(コマンドボタン)を押すと
「このフィールドに入力した値が不正です。
たとえば、数値型のフィールドに文字列を入力しました。」
となります。
アクションの実行エラーは
請求書コマンドマクロ.コピー
条件:True
アクション名:値の代入
引数:[Forms]![請新フォーム]![税抜金額],[Forms]![請修フォーム]![税抜金額]
です。
税抜金額(フィールド名)は通貨型(データ型)で書式は「\\#,##0;"-\"#,##0」です。
何を伝えたらいいのか分からないので足りない部分はおっしゃって下さい。
宜しくお願いします!
No.22
- 回答日時:
#21です
なんか追記があるんじゃ・・・と見てみたら、ありましたね。
(さて、通知のメールはいつ届くのでしょう・・・)
> 「税区分」の内容は数字に修正したので回答番号:No.12の TaxInterPreを
> コピーしてモジュールを作成しました。
#12のものですか?
「税区分」の内容が文字列であれば、#20のものになると思います。
> 指定した式に、MicrosoftAccessが見つけることができない関数名が含まれています。
TaxInterPre / GetTax 関数の記述は、標準モジュールにしていますでしょうか。
各フォームに記述しているのなら、標準モジュールの方に記述を移し、
各フォーム内の記述は削除します。
(四捨五入部分の関数も同様に)
標準モジュールの挿入は、
VBE(VBAを記述していく画面)のメニューに挿入があったと思います。
まず、この変更をやってみてください。
(仮定で記述していますので、既に実施済みなら・・・)
また、わからなかったら記述してください。
この回答への補足
30246kikuさんありがとうございます!
「税区分」の内容を数字に修正したので#12のTaxInterPreを
コピーしてモジュールを作成しました。
TaxInterPre/GetTax/funcSG関数の記述はデータベースウィンドウの
オブジェクトからモジュールを選択して作成していましたので
挿入から標準モジュールを選択してそこに貼り付けて、
それぞれ別にして再度作成しました。
上記のようにして使ってみましたが
指定した式に、MicrosoftAccessが見つけることができない関数名が
含まれています。
となり前回と同じです。
ちなみに(TaxInterPre関数の画面→ツール→)参照設定は
Visual Basic For Applications
Microsoft Access 9.0 Object Library
Microsoft DAO 3.6 Object Library
OLE Automation
Microsoft Visual Basic for Applications Extensbility 5.3
にチェックが入っています。
宜しくお願いします!
30246kikuさんありがとうございます!
ちなみにバージョンは
Microsoft Windows XP
Microsoft(R) Access 2000
です。
一つ気になるのがモジュールを選択しても実行ボタンを
選択できないことです。
宜しくお願いします!
No.23
- 回答日時:
ご迷惑をおかけしています。
#22です回答していて、個人的に考えさせられることがあったので、しばらく離れていました。
解決したい、っていう質問者さんには、不利益なことと思ってしまいます。
経緯は、私の最近の回答履歴を参照されるとわかると思います。
> 消費税額は-1円になります
この現象は、TaxInterPre を呼び出す時に、TaxInterPre( 2, 0 ) のように、
四捨五入ありの区分で、消費税部分が 0円 の場合に発生します。
これは、内部の処理については言及していませんでしたが(書き方だけ)、
(どのような処理内容・・・は、客先が提示することだったような??)
funcSG の判別部分に起因します。
If xCy > 0 Then
により、結果的に -1 となる処理となります。
If xCy >= 0 Then
にすると、0 は 0 のままとなります。
-1 になるのは、この部分を修正することで対処できますが、
> 税抜金額が100円でも1000円でも
より、本質的な解決にはなりません。
値がセットされていて、チャンと TaxInterPre を呼び出しているはず!!!
と思われているものと察します。
こういった時には、デバッグ作業をしていくことになります。
(細かいところは私にはわからないので、自分でするしかありません)
ボタンをクリックする前に、module1 を開いて、
TaxInterPre 内の先頭 TaxInterPre = 0 部分をクリック後「F9」を押し、
ブレークポイントを設定します。
(もう一度「F9」を押すと解除になります)
設定/解除は、その行が反転表示されるのでわかると思います。
(メニューのデバッグから辿って選択しても同様です)
どういう値が設定されているの・・・
を確認するには、メニューの表示から「イミディエイト」「ローカル」「ウォッチ」
などで行います。
今回、その値だけを確認したいので「イミディエイト」を使ってみます。
ボタンをクリックすると、ブレークポイントに設定した TaxInterPre = 0 で止まります。
止まっている状態で、マウスのポインタを変数名のところに持っていくと
今の値は何ですよ・・・って簡単に確認することもできます。
cVal が 0 だったら、イミディエイトウィンドウに以下を入力して、元々の値を確認してみます。
? [Forms]![請新フォーム]![税抜金額]
? [Forms]![請新フォーム]![日付]
? GetTax([Forms]![請新フォーム]![日付])
起動していたフォームが「請修フォーム」だったら
? [Forms]![請修フォーム]![税抜金額]
? [Forms]![請修フォーム]![日付]
? GetTax([Forms]![請修フォーム]![日付])
行の頭に記述している ? は、教えてよ、って意味になります。
どこが 0 になっているの・・・っていう感じで、追いかけていきます。
値だけではなくて、付随するプロパティとかも確認していきたいって時には、
「ウォッチ」を使ったりします。
現在、「請新フォーム」「請修フォーム」の2つがあるようですが、
代入先、計算過程のコントロール/コントロールソース名が同じであれば、
マクロでの記述は、フォーム名を指定しない以下で共通で使えるような気がします。
(マクロはあまり得意ではないので検証はしていませんが)
アクション:値の代入
アイテム:[消費税額]
式:TaxInterPre([税区分],[税抜金額]*GetTax([日付]))
これを確かめられるのであれば、まずは先の問題が解決してからということに・・・
※ もしここで、参考URLの記述があったとしたらクリックされますか。
(解決されるための方法とかが記述されているところに誘導するのが目的ですが)
No.24
- 回答日時:
#23です
クリックしますか・・・なんて、そのものを記述していないと気味悪いですよね。
ってことで、クリックされるかはご自身で判断してください。
(サイト内には、もろ広告があるようです)
(っていうか、後、何回書けるのでしょうか???)
(今後、削除対象になるかも・・・、、いや、今回のも削除対象でしょうか???)
実行時エラー、あわてないでデバッグを押す、デバッグ方法解説
http://www.ken3.org/vba/debug.html
その記事と合わせて、先頭にある
[Debug.Printを使い値の確認]/ [ウォッチ式とSTOP]
なども参考になると思います。
能力不足なので消費税を日付から求めることを諦めました・・・
長く教えていただいたので申し訳ないです。
以下でできました。
1.標準モジュールを#12を参考に作成
2.得意先名テーブルに税区分追加(1or2入力)
3.それぞれクエリに税区分追加
4.#12を参考にマクロ作成
まだまだ変更すべき点がありそうですのでまたよろしくお願い致します!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 消費税 インボイス制度 2 2022/11/19 14:44
- 一戸建て プロパンガスの残存価格について 3 2022/05/31 14:08
- 確定申告 個人事業者が源泉徴収額ありで法人に請求書を出す書き方について 2 2022/06/22 22:03
- 財務・会計・経理 請求金額について 5 2023/04/10 09:17
- 格安スマホ・SIMフリースマホ 今 ahamoを使っていて 4898円以下になる携帯会社があれば乗り換えたいです 20GBと24時間 9 2022/09/27 07:43
- 消費税 消費税の納税額の計算 1 2023/02/19 18:12
- 個人事業主・自営業・フリーランス インボイス制度で色々考えています。 私は一人親方です。 同じ親会社で30年近く専属で働いています。 3 2023/03/23 01:53
- 財務・会計・経理 インボイス制度の経過措置期間について 2 2023/01/28 15:50
- 消費税 免税業者のインボイス対応方法で、「消費税を請求しません」と言われたら筋は通っていますか? 2 2023/07/14 00:23
- 法人税 法人税 所得税の請求書 1 2023/05/17 12:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
運送会社が商品を破損してしま...
-
公文書公開に伴うコピー料金等
-
経理です。車検の時の勘定科目...
-
市役所と消費税
-
建設業の「安全協力費」の会計...
-
消費税の区分について
-
印紙税額を求める関数
-
Java初心者です。 javaで税額と...
-
宅地と非住宅用地の固定資産税
-
消費税について
-
エクセルで課税、非課税を自動...
-
従業員の賄いを給与から天引き...
-
JPYで表記されている金額について
-
給料 手取額からの源泉所得税の...
-
消費税計算で誤差が生じるのは...
-
建設業者が工事保険をもらった...
-
「消費税の納税義務者でなくな...
-
市民税の督促手数料は非課税と...
-
DIY 小屋の登記と固定資産税
-
アマチュア団体の出演謝礼に税...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
運送会社が商品を破損してしま...
-
経理です。車検の時の勘定科目...
-
市役所と消費税
-
アマチュア団体の出演謝礼に税...
-
建設業の「安全協力費」の会計...
-
被課税とは
-
公文書公開に伴うコピー料金等
-
消費税の区分について
-
エクセルで課税、非課税を自動...
-
印紙税額を求める関数
-
市民税の督促手数料は非課税と...
-
運転代行の消費税について教え...
-
自動車部品を個人輸入した際の...
-
消費税計算で誤差が生じるのは...
-
建設業者が工事保険をもらった...
-
自家用車両の借上料
-
税務調査 追徴課税500万! い...
-
DIY 小屋の登記と固定資産税
-
収入印紙は、必要ないのかな?
-
「消費税の納税義務者でなくな...
おすすめ情報