Accessで請求書を作りました。
まず、フォームでサブフォームを組み込み、内訳を入力し、合計金額・消費税・税込合計金額のテキストボックスに自動的に数字が入るように作ってみました。請求書ごとに内税の物と外税の物があるので、外税と内税のコマンドボタンを作成し、どちらかをクリックすると、消費税のテキストボックスに消費税額または"税込価格"と表示され、合計金額のテキストボックスに消費税込の金額または合計金額をそのまま表示するという設定をしました。
こんな感じで↓
Private Sub コマンド26_Click()

Me!消費税 = Me!合計金額 * 0.05
Me!税込合計金額 = Me!合計金額 + Me!消費税

End Sub

Private Sub コマンド29_Click()

Me!消費税 = "税込価格"
Me!税込合計金額 = Me!合計金額

End Sub
フォームではうまく表示されるのですが、レポートになると、「#Name?」と表示されてしまいます。
レポートでは消費税のテキストボックス=Forms!F請求書!消費税
税込合計金額のテキストボックス=Forms!F請求書!税込合計金額
と入力してあります。
フォームを開くと消費税と税込合計金額のテキストボックスには常に何も表示されてなくて、外税・内税のボタンを押さないと金額が表示されないのでそのせいでしょうか?
また、このやり方ですと、どちらかのボタンを押すたびに全部のレコードが内税のみ、外税のみになってしまい、請求書発行後に金額が変わってしまいます。
請求書番号ごとに内税・外税の金額を残したいのですが、そんなことは可能でしょうか?
独学で本を見ながら作っております。
VBAとかほんとによくわからないので初学者でも簡単にできる方法がありましたらぜひお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

元になるテーブルに課税区分を用意して


フォーム上では
Private Sub コマンド26_Click()
Me!課税区分 = "外税"
Me!消費税 = Format(Int(Me!合計金額 * 0.05) ,"#,##0")
Me!税込合計金額 = Me!合計金額 + Clong(Me!消費税)
End Sub

Private Sub コマンド29_Click()
Me!課税区分 = "内税"
Me!消費税 = "税込価格"
Me!税込合計金額 = Me!合計金額
End Sub

レポート上では詳細イベントのフォーマット時で課税区分に応じて
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
If Me!課税区分="外税" Then
Me!消費税 = Int(Me!合計金額 * 0.05)
Me!税込合計金額 = Me!合計金額 + Me!消費税
Else
Me!消費税 = "税込価格"
Me!税込合計金額 = Me!合計金額
End If
End Sub
    • good
    • 0
この回答へのお礼

お忙しい中ご丁寧にありがとうございました。お礼が遅くなりまして申し訳ございません。この間ずっと格闘していました。まだ完全には出来上がっておりませんが多分うまくいきそうです。完成してからお礼をしようと思いましたが、随分と時間も経ってしまったので途中経過ですがお知らせ致します。やりたかったことが明確になっていたのでほんとにありがたいです。ありがとうございました。

お礼日時:2006/10/20 10:44

>レポートになると、「#Name?」と表示されてしまいます。


フォーム上のコントロールはフォームが開いていないと参照できません

>全部のレコードが内税のみ、外税のみになってしまい
非連結のコントロールは同じ値しか取り得ません

>初学者でも簡単にできる方法がありましたらぜひお願いします。
計算で求められるものはテーブルには格納しないというのが基本ですから
消費税や合計金額をテーブルに格納しない今のやり方は正解です
ただ入力時にそれらの値をみたいとしても
非連結のコントロールに値を代入するのではなく
フォームのソースをそれらを求める式フィールドを持った
クエリにしてやればすむことです

レポートのソースもクエリにします

クエリを使えば現在のVBAも必要ありません
    • good
    • 0
この回答へのお礼

お忙しい中ご丁寧にありがとうございました。お礼が遅くなりまして申し訳ございません。基本的なことがまったく解ってなくて大変勉強になりました。時間がなくて間に合わないので今回はご回答いただいた中のVBAを貼り付けてしまいました。でも結局自分では仕組みもわかってないのでクエリやフォームの勉強もこれからやっていくつもりです。本当に明確なご指摘ありがとうございました。次はクエリを使ってもっと簡単に作ってみます。本当にありがとうございました。

お礼日時:2006/10/20 10:52

テーブルに消費税の区分(内税、外税、非課税?)を追加して、そのフィールドを利用して処理をするように、構築してください。

    • good
    • 0
この回答へのお礼

お忙しい中どうもありがとうございました。お礼が遅くなりもうしわけございません。テーブルに区分を置くという重要なことをご指摘いただいて随分とはかどりました。(まだ完成はしてないんですけど。)本当にありがとうございました。

お礼日時:2006/10/20 10:56

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qセブンイレブンで固定資産税を支払おうと思っています。

セブンイレブンで固定資産税を支払おうと思っています。
nanacoで固定資産税を支払うことはできるのでしょうか?
仮にnanacoで支払えたとしても、nanacoのポイントは貯まらないでしょうが、
アイワイカードからnanacoへクレジットチャージをすれば、間接的にアイワイカードのポイントが
貯まるのではないかと考えています。
どなたか詳しい方がいましたら、教えてください。
よろしくお願いします。

Aベストアンサー

>nanacoで固定資産税を支払うことはできるのでしょうか?
 ・支払方法にコンビニ決済があれば可能です
  (ご指摘の様に、nanacoポイントは付きません)
>アイワイカードからnanacoへクレジットチャージをすれば、間接的にアイワイカードのポイントが
貯まるのではないかと考えています。
 ・この場合、アイワイカードのポイントの付与対象外です
 ・下記を参照
http://www.nanaco-net.jp/service/creditcharge02.html
 ・以下、上記より抜粋
「※nanacoクレジットチャージのご利用分はアイワイカードのポイント付与対象外となります。
なお、ご利用分はアイワイカードの年会費無料の計算対象金額となります。」

QSum・クエリ・テーブルの特定の合計をフォームのテキストボックスに表示したい

テーブル1に番号フォールドと金額フィールド(通貨型)があり、
番号   金額
001    \1
002    \2
003    \3



とデータが入力されています。

フォーム1にテキスト0を設置しました。
そこに「番号001の金額フィールドの合計額を表示したい」のですが
どうすればいいのでしょう?


SQL文で言うと
SELECT テーブル1.番号, Sum(テーブル1.金額) AS 金額の合計
FROM テーブル1
GROUP BY テーブル1.番号
HAVING (((テーブル1.番号)="001"));

なので
それを
テキスト0のコントロールソースに
"SELECT テーブル1.番号, Sum(テーブル1.金額) AS 金額の合計
FROM テーブル1
GROUP BY テーブル1.番号
HAVING (((テーブル1.番号)="001"));"
と入れましたが
ただテキストボックスにSQL文が表示されるだけでした。

(番号フィールドは主キーではなく重複するレコードもあります)

どうすれば、いいのでしょうか?
ご教授よろしくお願い致します。

テーブル1に番号フォールドと金額フィールド(通貨型)があり、
番号   金額
001    \1
002    \2
003    \3



とデータが入力されています。

フォーム1にテキスト0を設置しました。
そこに「番号001の金額フィールドの合計額を表示したい」のですが
どうすればいいのでしょう?


SQL文で言うと
SELECT テーブル1.番号, Sum(テーブル1.金額) AS 金額の合計
FROM テーブル1
GROUP BY テーブル1.番号
HAVING (((テーブル1.番号)="001"));

なので
それを
テ...続きを読む

Aベストアンサー

#1 です。
寝ぼけていました。
DSum 関数ですね。

Qタイのセブンイレブンについて

タイにはたくさんのセブンイレブンがあります。

以前ここで香港台湾のセブンイレブンは、アメリカのセブンイレブンを
日本のセブンイレブンが買収したから香港台湾のセブンイレブンも
日本のセブンイレブンが支配していると教えていただきました。

それと同じくタイのセブンイレブンも日本のセブンイレブンが
支配しているのでしょうか?

コンビニは、その国の豊かさをはかる目安と考えています。
先日香港に行ったときにたくさんのセブンイレブンをみました。
恐らく香港では、日本人が考えているような
食うや食わずの人はあまりいないと私は考えています。

その根拠となるのがコンビニなのです。

よろしくお願いします。

Aベストアンサー

普通に情報公開しています
http://www.sej.co.jp/corp/company/tenpo02.html

また、購買力平価ベースによる一人当りでは
日本 29,400 usドル
香港 34,200 usドル
です

Q入金額から消費税と源泉徴収税と税抜金額を出す条件分岐について

アクセスのクエリで入金額から税抜金額と消費税額と源泉徴収税額を計算する条件分岐式を教えて下さい。簡単な算数の問題だと思うのですが,上手くいきません。

入金額には,4つのパターンがあって,以下の計算式で税抜金額が求められると思います。ちなみに,税抜金額が100万円以上の場合は想定していないので,源泉徴収税は100万円までの場合として計算式を作りました。

  源泉徴収税 消費税 計算式
(1) ○     ○   入金額/0.95
(2) ○     × 入金額/0.9
(3) ×     ○ 入金額/1.05
(4) ×     × 入金額

これをクエリフィールドで求めるために,
税抜金額: IIf([源泉徴収税]=True,IIf([消費税]=True,Int([入金額]/0.95),Int([入金額]/0.9)),IIf([消費税]=True,Int([入金額]/1.05),[入金額]))
という式をクエリのフィールドに入力したのですが(2)の条件のときも(1)の計算式で計算されてしまいます。
どこが間違っているのでしょうか。初歩的な質問ですみませんが,ご回答お願いします。

アクセスのクエリで入金額から税抜金額と消費税額と源泉徴収税額を計算する条件分岐式を教えて下さい。簡単な算数の問題だと思うのですが,上手くいきません。

入金額には,4つのパターンがあって,以下の計算式で税抜金額が求められると思います。ちなみに,税抜金額が100万円以上の場合は想定していないので,源泉徴収税は100万円までの場合として計算式を作りました。

  源泉徴収税 消費税 計算式
(1) ○     ○   入金額/0.95
(2) ○     × 入金額/0.9
(3) ×     ○ ...続きを読む

Aベストアンサー

いわれたままに式を貼り付けたら 添付図のようになりました
式ビルダ
税抜金額: IIf([源泉徴収税]=True,IIf([消費税]=True,Int([入金額]/0.95),Int([入金額]/0.9)),IIf([消費税]=True,Int([入金額]/1.05),[入金額]))
なぜでしょうね?

Qセブンイレブン

セブンイレブンって世界中に展開してますけど、本部はアメリカですよね。本部とセブンイレブンジャパン、各国のセブンイレブンの関係はどのようなものなのでしょうか?ハワイのものは日本が運営してるようなことはきいたことあります。それとホームページで、イトーヨーカドーとセブンイレブンジャパンがセブンイレブンの株主になってるようなことを書いてたんですけど...あとほかのコンビ二の海外展開に詳しい方いらっしゃったら教えてくれませんか?

Aベストアンサー

私はセブンイレブンでバイトしてましたが、そこのオーナーから聞いたことがあります。セブンイレブンの発祥はアメリカで、イトーヨーカドーが作った子会社がアメリカの会社のセブンイレブンのやり方に関心してアメリカのセブンイレブンと契約したそうです。そのうちセブンイレブンジャパンの方が大きくなっちゃって、アメリカのセブンイレブンは逆にセブンイレブンジャパンから株を買収されただの(そこのところの記憶は曖昧ですが・・)といった話しは聞きました。今海外にあるセブンイレブンはほとんど日本のセブンイレブンの資本だと思います。

そのくらいしか知りません^^;

Qクロス集計クエリの合計 テキストボックスに表示

クロス集計クエリの合計と、フォームのテキストボックスに表示させたいのですが無理でしょうか?
クロス集計クエリの行見出しには会社名A社B社が入っていて、
合計 金額フィールドには各会社の合計金額が入っています。

そのクロス集計クエリを元にサブフォームを作り、
親フォームにはめ込んだのですが
その親フォームにテキストボックスを設置し、
クロス集計クエリの合計 金額フィールドの合計を表示させたいのですが
サブフォームのレコードをクリックするたびに、
親フォームにテキストボックスに表示される値は、そのアクティブなレコードの値になってしまいます。

テキストボックスのコントロールソースは
=[テーブル1のクロス集計のサブフォーム].[Form]![合計 金額]
としています。

A社B社のそれぞれのクロス集計クエリを作成し、
それぞれを足すしか、テキストボックスに合計を表示させる方法はないでしょうか?

Aベストアンサー

「クロス集計クエリを参照し集計するクエリ」を作る、ではどうでしょう?

select sum(<クロス集計の合計列名>) as 全社合計 from クロス集計クエリ;

で、テキストボックスに参照させる。

Qセブンイレブンといえば?

セブンイレブンといえば?

今日は7月11日でしたね。
選挙でした。
私昔、セブンイレブンで働いてました。w

さて、セブンイレブンといえば、あなたは何が思い浮かびますか?

Aベストアンサー

真っ先に浮かぶのは「おむすび」です。
近くにセブンイレブンがあって、買うのはいつもおむすびだからです。
お菓子もあまり買わないし、おむすび以外の用事があまりないんです。

Qエクセルでテキストファイルからフォームのテキストボックスにテキスト挿入するマクロ

マクロでフォームのテキストボックスに直接テキストファイルからテキストを挿入したいのですが出来ますか?
opentextでエクセルシートに入れてからフォームにコピーすることはできたのですが、それだと重くなってしまうので直接取り込みたいんですがうまくいきません。
VBやJAVAのreadlineのようなものは使えないんでしょうか。

Aベストアンサー

>VBやJAVAのreadlineのようなものは使えないんでしょうか。

LineInput がありますよ。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_030.html
http://rd.search.goo.ne.jp/click?DEST=http%3A%2F%2Fofficetanaka.net%2Fexcel%2Fvba%2Fstatement%2FLineInput.htm&no=2

Qなぜ、四国と北陸にはセブンイレブンがないのですか?

こんにちは。テーマのとおりです。セブンイレブンの店舗を検索したところ、四国と北陸地方にはセブンイレブンがないみたいです。
コンビニ業界1のセブンイレブンが存在しない都道府県があるのは純粋に驚きです。徳島の友達に聞いたところファミリーマートやローソンはあるようですが・・・なぜセブンイレブンがないのか、なにか理由はあるのでしょうか?

Aベストアンサー

他の方の回答にもあるようにセブンイレブンはドミナント出店を方針にしています。ある地域に集中的に大量出店し、経営効率を高めるためです。
その前提として、ベンダー(配送センター、業者、弁当工場など)を確保し、かつ、セブンイレブン品質を徹底的に求めます。そのインフラを整えて一気に出店します。出店開始になれば怒涛のように出店していきます。
関西や中京でも、ほんの10年くらい前はセブンイレブンはほとんどなかったのですから。
北陸も四国もいずれ出るでしょう。
四国なら明石海峡ルートで徳島か、瀬戸大橋ルートで香川か、ではないでしょうか。
でも早くしないと北陸も四国も出店余地がなくなるよ~。

ついでにいえば、九州では鹿児島に出店していません。
鹿児島は県外資本が進出する場合、地元企業と合弁にしないといけないという暗黙のルールがあります。サンクスもファミリーマートもヤマダ電機ですら地元企業との合弁(フランチャイズ)です。
しかし、セブンイレブンは地域フランチャイズを認めていないので、鹿児島への出店は難しいようです。鹿児島から県境を越えて、ほんの数100メートルの宮崎県都城市にまでセブンイレブン来てるのに・・。

他の方の回答にもあるようにセブンイレブンはドミナント出店を方針にしています。ある地域に集中的に大量出店し、経営効率を高めるためです。
その前提として、ベンダー(配送センター、業者、弁当工場など)を確保し、かつ、セブンイレブン品質を徹底的に求めます。そのインフラを整えて一気に出店します。出店開始になれば怒涛のように出店していきます。
関西や中京でも、ほんの10年くらい前はセブンイレブンはほとんどなかったのですから。
北陸も四国もいずれ出るでしょう。
四国なら明石海峡ルートで徳...続きを読む

QACCESSのVBAでPrivate Sub ~endsubの後の区切り線が消えてしまう

ACCESSでかなり長いVBAのプログラムを書いてあるのですが不定期にエラーが出ます。デバッグ画面で確認するとendsubで区切られたはずのプログラムが区切り線がなくなっていてアクションを起こしてくれません。これってACCESSのバグですか?あるいは私の書き方に無理があるのでしょうか?

Aベストアンサー

まず、End Sub が重なったら、実行時エラーにはなりませんね。
たぶん、原因は、メモリのオーバーフローではありませんか?遠因では、「長いVBAのプログラム」というのが問題ではないでしょうか?

どのような内容かは分かりませんが、Object を放置してあって、その実行を重ねて使ってしまう。例えば、RecordSet をそのまんまにしてしまうとか?また、Public ステートメントにObjectを宣言し、Close していないとか、やってはいけないミスですね。便利だからとグローバル変数を安易に書く人がいますが、私は、慎重に使って多用しないようにしています。

まして、ループの中で、Object の設定をするなんていうのは、論外ですが、時々見かけます。

それはともかくとして、マクロならともかく、「長いVBA」コードというのは、更新も利かず、エラーでも迷宮入りになりかねませんから、各役割をパーツにして、サブルーチン化し、メインを設けて構造化してください。私の場合は、PCが古いので、サブルーチンの中で、その都度、Objectの開放をして負担を減らしています。掲示板などのサンプルは、一本で書くのが慣例ですが、実務では分けるようにしています。

まず、End Sub が重なったら、実行時エラーにはなりませんね。
たぶん、原因は、メモリのオーバーフローではありませんか?遠因では、「長いVBAのプログラム」というのが問題ではないでしょうか?

どのような内容かは分かりませんが、Object を放置してあって、その実行を重ねて使ってしまう。例えば、RecordSet をそのまんまにしてしまうとか?また、Public ステートメントにObjectを宣言し、Close していないとか、やってはいけないミスですね。便利だからとグローバル変数を安易に書く人がいますが、私は、...続きを読む


人気Q&Aランキング

おすすめ情報