dポイントプレゼントキャンペーン実施中!

access初心者の為、質問内容がわかりづらかったら申し訳ありませんが、
クエリ結果を入力フォームに出力させる方法を、是非教えてください。

イメージとしては、保険料見積りの画面のような感じで、
掛けたい保険額を入力すると、その1か月の保険料を隣に出力するといったものです。

入力フォームに試算ボタンを作り、クエリを実行するまではうまくいったのですが、
その結果を非連結テキストボックスに返すことができません。
非連結テキスボックスにレコードソースを入れただけではダメでした・・・。

そもそも実行したクエリ結果をテキストボックスに返すことはできないのでしょうか?

また、併せて、その保険料の合計もフォーム上で行いたいのですが、できますでしょうか?

質問があいまいではありますが、何卒よろしくお願いいたします。

(やりたい事)

  (1)フォームに金額を入力する(顧客_qよりフォーム作成)
  (2)試算ボタンにて、クエリ(試算_q)を実行
  (3)フォームに月の各保険料およびその合計額を出力<←質問の箇所>
  (4)印刷ボタンにて印刷
  
(顧客_qをベースに作成したフォーム)

         ↓入力する      ↓クエリ(試算_q)の結果を出力(月の保険料)
        
入院保障     5,000    _________       
手術特約     3,000    _________
死亡保障 1,000,000    _________

                合計 _________ ←上記結果を合計する。

 

A 回答 (4件)

> ただ足しただけでは、+が&のような働きをしてしまい、羅列になってしまいました。



各項目は DLookUp で取得し
合計は
= [テキスト1] + [テキスト2] + [テキスト3]
のような式で求めているということですね。

おそらく、クエリで Nz関数 や DLookUp関数などを使用して
結果が左詰めで表示されている状態(文字列とみなされる)だと思われます。

CLng関数などで数値に変換するのが本筋ですが
フォームで簡単に解決する方法をご紹介します。

合計の式を

= 0 + [テキスト1] + [テキスト2] + [テキスト3]

のように 先頭に明らかな数値の項をおくことで、
Access に、文字列ではなく、数値であることを分からせてあげます。

この回答への補足

頼り切りになってしまい申し訳ないのですが…

フォームの印刷を選択し、印刷ボタンを作成したのですが、
いざ実行してみると、「不正な文字」とエラーメッセージが出力され印刷ができないのですが、なにが不都合なのでしょうか?

たびたび申し訳ありません。

補足日時:2013/12/02 10:45
    • good
    • 0
この回答へのお礼

できました!!!!!
本当に、本当にありがとうございました☆
とっても助かりました。

こういう方法もあるのですね・・・。
本当に勉強になりました。

お礼日時:2013/12/02 10:47

>ただ足しただけでは、+が&のような働きをしてしまい、羅列になってしまいました。



この現象は、項目がテキスト型になっているからだと思います。
テーブルを右クリックからデザインモードで開いて
・数値型に変更して下さい
・規定値を0にしてください

※エクセルと違ってアクセスでは、
演算項目に一つでも空白が あると式は無効になります。

この回答への補足

1つのクエリ(顧客_q)を基にして作成したクエリ(試算_q)のため、テキスト型を数値に変更できません・・・。
もちろん元のテーブルは全部数値型なのですが。
そして、クエリのプロパティを開いて書式変更しようとしたところ、プルダウンには何もメニューがでてきませんでした。

ちなみに、試算_qの最後に合計【月払】・合計【年払】の各合計を作成し、フォームのヘッダーに合計欄を設け、=sum([合計【月払】])としたのですが、エラーになってしまいます。

もう、お手上げ状態になってしまいました・・・。

補足日時:2013/12/02 09:50
    • good
    • 0
この回答へのお礼

どうもありがとうございます。
上記補足にも書かせていただきましたが、うまくいきませんでした。
テーブル作成の部分から何か違うことをしてしまっているのかもしれませんが。
いろいろ勉強不足で申し訳ありません。
是非、またご教授賜りたいと思います。
よろしくお願いいたします。

お礼日時:2013/12/02 09:53

試算_qでどのような計算をしていますか?


クエリ内で計算した項目をフォーム上に配置するとOKです

クエリー内ではレコード内の横の計算は出来ますが
レコード間の計算はフォームまたはレポート上でやります。

例えば、試算_q内に入院保障金額、施術特約金額、死亡保障金額
があってこれらの合計は
合計:入院保障金額+施術特約金額+死亡保障金額

レコード間の合計はフォームフッターにボックスを配置し
ボックスのデータタブのコントロールソースに
=Sum([死亡保障金額])
とします。
「[至急]accessクエリ結果を入力フォ」の回答画像2
    • good
    • 0
この回答へのお礼

お返事遅くなって申し訳ありません。
ご回答、どうもありがとうございました!

さて、試算_qでは、1つのテーブルと結合させながら、
10数個のフィールドの【月払】【年払】の計算をしています。

私もこのクエリの最後に【月払】【年払】の合計を出し、フォームで出力させようと考えたのですが、sum関数が使えず、悩んでいました。
また、ただ足しただけでは、+が&のような働きをしてしまい、羅列になってしまいました。

フォームでsum関数を使うのですね!!!

早速、やってみようと思います。

おそらく大変低レベルな質問であるにも関わらず、丁寧に教えてくださりありがとうございました!
本当に助かります。

お礼日時:2013/12/01 22:17

>>そもそも実行したクエリ結果をテキストボックスに返すことはできないのでしょうか?



それができないと、検索結果を表示するプログラムが書けません。当然、可能です。

>>また、併せて、その保険料の合計もフォーム上で行いたいのですが、できますでしょうか?

当然、可能ですし、そういうプログラムは沢山あると思います。

書店に行けば、そんな処理を行うサンプルプログラムの掲載されている書籍があると思います。
探して購入して勉強すればいいと思います。
一冊の書籍になるくらいですので、ここで教えるようなものではありません。

この回答への補足

dlookupを使用して出力したいクエリの結果はでたのですが、
そこから合計を導くことができません。
単純に値を足したいだけなのですが・・・
ご教授いただけましたら幸いです。

補足日時:2013/11/30 10:51
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
勉強不足で大変申し訳ありません。
急を要するものだったため、つい質問してしまいました。
さっそく書籍を購入し、きちんと勉強したいと思います。

お礼日時:2013/11/29 11:19

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

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