アクセスでフォームを作って、消費税額を表示させるテキストボックスを
作りました。消費税は、場合によって外税だったり内税だったりするので、
オプションボタンを作って処理を分岐させようと思っています。
case文で処理を分岐させたいのですが、オプションボタンを選択したあとに
実行させるプロシージャの書き方がわからないのです!
すみませんが、教えてください!

また、オプションボタンよりもっと簡単にできる方法ってあるんでしょうか?
本を見ながらの初心者なので、どれが適した処理方法なのか、判断できない
のです・・・。

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

A 回答 (1件)

関数を作ってそれに課税対象額と課税区分を渡すって言う感じですね。




オプショングループで1が外税・2が内税とします。
Kingakに課税対象となる金額コントロール、Kubunにオプショングループを指定します。消費税を表示したいコントロールのコントロールソースに下記のファンクション名を指定して下さい。

Function Get_Tax(Kingak As Money,Kubun As Int)
Select Case Kubun
Case 1 '外税
Get_Tax = Kinigak * 0.05
Case 2 '内税
Get_Tax = Kingak - (Kingak / 105 * 100)
End Select

 って感じでしょうか。端数処理は行っていませんので小数点以下も表示されてしまいますが。切り上げ・切り捨て・四捨五入などint()で付け加えてください。
    • good
    • 0
この回答へのお礼

丁寧な説明ありがとうございました!
お礼が遅くなってすみません(PCがおかしくなってしまっていたので・・・)
助かりました。本当にありがとうございました。

お礼日時:2001/02/26 15:45

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Qアクセスでテーブルの変更内容をフォームに反映させるには?

アクセス超初心者です。
テーブルを作って、その後フォームを作りました。
フォームの内容が足らなかった為、テーブルに戻って編集しました。
しかし、テーブルの変更内容がフォームに反映されません。
顧客管理のデータベースを作りたかったのですが。。
例えば、テーブルで「氏名」という項目が足らなかったとして、追加したとします。それを保存します。その後、フォームの顧客管理を開けても、反映されません。編集後、どうすればフォームに反映されるのでしょうか。。(T_T)
宜しくお願いします。

Aベストアンサー

2パターンあります。
(1)クエリーの内容をフォームに貼り付けている場合で項目を限定している時は反映されません。
 クエリーに追加した項目を反映すれば、フォームにも反映されます。(自動的にフィールド(テキストボックスなど)が作成されるわけではありません。)
(2)ウィザードで作成していた場合、一番最初は自動的にフォームが作成されフォーム上にテーブルと同じフィールドが作成されますが、その後のテーブル変更では自動的にはフィールドは作成されません。
 whitemarkさんのおっしゃるとおり、自分でフィールドを追加してください。

いずれにしても反映という意味が、「自動的にフォーム上にフィールドを作成してくれる」ということでしたら
ACCESSではウィザードで作成の最初だけですので気をつけてください。

がんばってください。

Qアクセス: フォーム上で計算した数字をテーブルに保存したい。

 こんばんは。また質問させてもらいます・・。
これがアクセスに関して、最後の質問になるようにしたいです!!

 さて、フォームに入力したものは自動的にテーブルに保存されます。
しかし、フォーム上で計算したものは、テーブルに反映されていませんでした。
過去の質問にフォーム上計算したものは、テーブルに反映されないということがわかりました。
では、一体どうすればいいのでしょうか。

 フォームのコントロールソースには
=([QTY]*[COST]) 数量*値段を入れています。

どうすれば、テーブルに表示できるでしょうか。
ご教授お願いいたします。

過去の質問は、こちらを参考しました。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1002073

Aベストアンサー

クエリーを覚えると便利です。
テーブル=オペレーターが入力したりする項目
クエリー=テーブルのデータプラスそれから計算出来るさまざまな項目

例えばQTYとCOSTはテーブルに
合計は 合計:[QTY]*[COST}
というようにクエリーに追加すれば、テーブルに
合計という項目を持つ必要がありません。
テーブルの「合計」を削除しても差支えありません。

また入力日という項目をテーブルに持ち
後の整理の目的でクエリーには
年:Year([入力日])
月:Month([入力日])
などとする事も可能です。

これで何年何月のデータだけを抽出したい場合でも
クエリーの抽出条件に 2004 とか 8(月)とかを
入力するだけでOKです。

合計、平均、最大、最小なども....

データベースはクエリーにあるレコードをいちいち保存するのではなく、計算式だけを覚えていて、開くたびに
計算して表示してくれるだけなのです。

QAccessのフォーム上にレコード数とレコード番号の表示

Accessでクエリを元に表示するフォーム上で、テキストボックス等に関数を使って、レコード数とレコード番号を表示する方法がありましたら教えてください。

フォームの書式設定で「移動ボタン」の表示をすれば目的の事は出来るのですが、表示の大きさが調整できない為、とても見難いのです。

以上よろしくお願いします。

Aベストアンサー

レコード番号のコントロールソースを
=[CurrentRecord]
レコード数のコントロールソースを
=Count("*")-[NewRecord]
としてみてください。

QアクセスVBAのMe!と[ ]

基本的なことですみません。

アクセスのイベントプロシージャで、Me!ってありますけど、これはどういう意味なんでしょうか?

また、Me!の後に、Me!.~~と書く場合と、Me!.[~~]と書く場合がありますが、どこが違うのでしょうか?

Aベストアンサー

>プロシージャ内で[]を使う場合は、そのフォーム外のオブジェクトを使う場合と考えてよろしいでしょうか?
別のオブジェクトを使う場合だけではありません。
Hensu = Me![Text1]のようにHensuという変数に自身のTest1の値を代入する場合のように。
[]で括られているのがオブジェクト名やコントロール名だよという事。
クエリの抽出条件に存在しない[?]とすれば?というコントロール等が参照できないので?というダイアログが表示されるように?というオブジェクトやコントロールは何?と聞いてくるように。
>フォーム内のオブジェクトの場合はあくまでMe!で良いのでしょうか
Forms.[フォーム名]![コントロール名]やForms![フォーム名]![コントロール名]が構文。
アクティブなフォームが自分自身ならForms![フォーム名]の変わりにMeでもOKですという事。

と言う解釈の方が良いと思います。

QAccessでの外税・内税

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とかほんとによくわからないので初学者でも簡単にできる方法がありましたらぜひお願いします。

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

Aベストアンサー

元になるテーブルに課税区分を用意して
フォーム上では
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

元になるテーブルに課税区分を用意して
フォーム上では
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 M...続きを読む

Qクエリで合計を出したい。。

こんにちは。
初歩的な質問で申し訳ありませんが、回答お願いします。
アクセスで売上をつけています。
地区ごとのクエリで合計を出したいのですが

社名  地区  売上
A社 ○○地区 1000
B社 ○○地区 2000 
C社 ○○地区 3000
D社 ○○地区 4000
E社 ○○地区 5000

という感じなんですが
どこかのセル(アクセスでもセルと呼ぶのでしょうか^_^;?)に売上の合計(ここでは15000です)が出るようにしたいのですが・・・。

Aベストアンサー

地区ごとの合計を出したいのなら、
クエリを作成し、該当するテーブルを選び
「地区」、「売り上げ」を選択して
右クリックして「集計」をクリックし
「地区」の集計を「グループ化」
「売り上げ」の集計を「合計」にする。

SQLビューで見ると

SELECT 地区名, Sum(売り上げ) AS 合計 FROM テーブル名 GROUP BY 地区名;

といった感じかな。

Qアクセスで#エラーを表示させない方法は?

アクセス2000を使用しています。フォームにテキストボックスを貼り付けて、計算式を入れています。計算できない数値になると、#エラーと表示されます。目障りなので、#エラー という表示を消したいのですが、どうしたらよろしいでしょうか?宜しくお願い申し上げ候。

Aベストアンサー

はじめは「IIF関数とIsError関数を使用して」と考えたものの、IIF関数は引数がエラーになった時点で
エラーが返されてしまう(=元の木阿弥)ので、どうしたものかと思ったのですが・・・
とりあえず、「見た感じ、何も表示されていないように見える」ということで、『条件付書式』での対応と
いうのはいかがでしょうか。

1)当該フォームをデザインビューで開く
2)当該テキストボックスを選択
3)メニューで「書式(O)→条件付き書式(D)」を選択
4)『条件付き書式設定』ダイアログが開くので、『条件1(1)』枠の左端にあるコンボボックスで「式」を選択
5)上記コンボボックスの隣が1つのテキストボックスになるので、そこに以下のような式を入力
 IsError([テキスト0])
 ※上記の式は当該テキストボックスの名前が「テキスト0」の場合です。
6)上記テキストボックスの下、右から2番目に「A」と表示された、文字色を指定するボタンがあるので、
 その左の小さな「▼」をクリックし、当該テキストボックスの背景と同じ色(既定では白のはず)を選択
7)『OK』ボタンをクリックしてダイアログを閉じる

・・・以上です。
これで、『テキスト0』の計算式がエラーになった場合は、文字色が背景と同じ色になるので、「#エラー」と
いう表示はされていないように見える、という状態にすることができると思います。

はじめは「IIF関数とIsError関数を使用して」と考えたものの、IIF関数は引数がエラーになった時点で
エラーが返されてしまう(=元の木阿弥)ので、どうしたものかと思ったのですが・・・
とりあえず、「見た感じ、何も表示されていないように見える」ということで、『条件付書式』での対応と
いうのはいかがでしょうか。

1)当該フォームをデザインビューで開く
2)当該テキストボックスを選択
3)メニューで「書式(O)→条件付き書式(D)」を選択
4)『条件付き書式設定』ダイアログが開くので、『条件1(1)』枠の...続きを読む

QAccessで金額計算(税込と税別を分けて計算)

お世話になります。
ACESSにて、注文書のようなものを作成しているのですが、この注文書の合計金額部分を、「消費税込」と「税別」で分けて計算したいのです。

現在作成したクエリは
 フィールド:消費税を作成、税金割合に「0.05」と「0」を入力
 注文番号ごとに、式1にて「商品単価*商品個数」をクエリーで集計計算
 同クエリー内にて、税金割合を式2にて「式1*税金割合」
というものですが、税金割合が0のときの結果は式1の数字が出したいのですが、なぜか空白となってしまいました。
なぜでしょう??

作成テーブルは下記のような形です。
 T_注文書(注文番号、件名、消費税)
 T_注文商品(注文番号、項目、商品数量、商品単位)
 T_税(消費税、税金割合)--ここで0、0.05を入力

Aベストアンサー

式1=[商品単価]*[商品個数]
式2=Int([式1]*[税金割合])
上記の場合、税金割合=0 なら 式2(消費税)=0となります。
税込金額ということであれば
式2=Int([式1]*(1+[税金割合]))
になります。

結果が空白となるということですが、
[商品単価],[商品個数],[税金割合]のいづれかにNull値(空白)がありませんか?
Nullに加減剰余した結果はエラーで空白表示になります。回避する場合は
式1=Nz([商品単価])*Nz([商品個数])
式2=Int([式1]*Nz([税金割合]))

Q複数のクエリーを一枚のレポートに掲載する方法(アクセス)

約100名の顧客がいて各人がある曜日(月~土)に来るとします。中には週に1回しか来ない人もいれば、毎日来る人もいます。顧客リストテーブルに月~土のフィールドを作り、それを元に月曜日来客リスト、火曜日来客リスト・・・というクエリーを作成したのですが、これを月~土曜日の一覧リストとして表示させたいのですが、どのようにしたらよいでしょうか?
A:月、水、木、土
B:月、火、木
C:水のみ
D:月、木
E:月、水
F:金のみ
G:火、土 の場合

月曜日  火曜日  水曜日  木曜日  金曜日  土曜日
 A     B     A     A     F     A
 B     G     C     B           G
 D           E     D
 E 
  
という表を完成させていのですが・・・

よろしくお願いします。

Aベストアンサー

掲題を参考に...

月曜日のレポート表示イメージ
'-----
月曜日
 A
 B
 D
 E
'-----

火曜日のレポート表示イメージ
'-----
月曜日
 B
 G
'-----



土曜日のレポート表示イメージ
'-----
土曜日
 A
 G
'-----

って、ここまでは大丈夫ですね(^-^ )
さて、次はサブレポートですが、とりわけ難しく考えることはないです
レポートの中にレポートを貼り付けるというイメージです

で、先程作成した6個のレポートをkenchan2001さんがイメージしたとおりに新規レポートに配置していきます
(ウィザードはありません、自力で頑張りましょう)
レポートのデザインビュー時にツールボックスの「サブフォーム/サブレポート」ボタンを使用して配置して下さい
(ウィザード等、便利な機能もついています)
あとは、手直しすれば完成します

このレポートの難点は、ある曜日に顧客がかたまりすぎたら、レポートをはみ出してしまうことですね
なんとか、デザイン設計の方で回避できますが...
頑張って下さい(^-^ )

掲題を参考に...

月曜日のレポート表示イメージ
'-----
月曜日
 A
 B
 D
 E
'-----

火曜日のレポート表示イメージ
'-----
月曜日
 B
 G
'-----



土曜日のレポート表示イメージ
'-----
土曜日
 A
 G
'-----

って、ここまでは大丈夫ですね(^-^ )
さて、次はサブレポートですが、とりわけ難しく考えることはないです
レポートの中にレポートを貼り付けるというイメージです

で、先程作成した6個のレポートをkenchan2001さんがイメージしたとおりに新規...続きを読む

Qテーブルに表示されているものがクエリに表示されない

Windows NTでAccess2000を使っています。(ACCESSは初心者です)
あるテーブルに入っている伝票番号をクエリでひっぱってみたのですが
テーブルにはある番号ががクエリでは出てこないものがあります。
昇順に並び替えているぐらいで特に抽出条件を設けているわけでもないのに
何がおかしいのでしょうか??
教えてください。よろしくお願いします。

Aベストアンサー

ふたたび。

伝票番号のテーブルをAとして、Aを基準にテーブルB/テーブルCがそれぞれ何らかの形でリンクされているとします。
まず、その状態で伝票を「探す処理」を追っかけて見ます。

0.入力により、伝票番号を指定

1.Aの伝票番号=入力された番号
2.A-Bのリンクされているテーブル同士で、等しいもの
3.A-Cのリンクされているテーブル同士で、等しいもの

という処理が行われています。
2・3の処理が行われるのは、リンクが行われている為です。
2・3どちらか、片方でも成立しない場合、表示対象外になります。

【対応】
一時的に「リンク」をなくすことで、2・3の処理を回避できます。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報