みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Accessでのグラフ化

いつもお世話になっております。

掲題について、グラフ化に関する情報はインターネットで大量に見つかるのですが、
どれも複雑なものばかりで、意外とシンプルなもののやり方が分かりません。
具体的には、Access2010で売上管理を作ったのですが、

(例)
得意先コード 得意先名  今月売上目標額  現在時点の売上実績額  達成率
--------------------------------------------------------------------------------------------------------------------
00001   A社       1,000,000     300,000    30.0%
00002   B社      15,000,000     4,250,000   28.3%

このようなテーブルがあって、各得意先の達成率を横棒グラフあるいは円グラフで
得意先ごとに表示したいのです。
30.0%であれば、グラフですぐ30%がイメージできればよいだけです。
このテーブルにグラフのフィールドを作って、そこに記憶させてもよいし、フォーム上に表示させたり、レポートで印刷ができるだけでも構いません。

最初は簡単に思えたのですが、どうやったらよいか困っておりますので、是非ご教授をお願い致します。

投稿日時 - 2015-12-06 23:32:24

QNo.9091773

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

グラフを使わないレトロな方法ですが・・・。

クエリのデザイングリッドに
Bar: IIf([達成率]>1,String(Int(20*[達成率]),"+"),String(Int(20*[達成率]),"*") & String(20-Int(20*[達成率]),"-"))
を追加すると

達成率 Bar
0.00% --------------------
4.00% --------------------
5.00% *-------------------
90.00% ******************--
95.00% *******************-
120.00% ++++++++++++++++++++++++
のようになります。
※WEB上だとレイアウトが崩れて見えるかもしれないのでメモ帳などで
フォントを等幅フォント(MS ゴシック・MS 明朝)などにしてみてください。
* 一個が5% です(上の式中の20を100にすれば 1% 刻みになりますがスペースが足らなくなります)
+ は達成率を超えた場合です。

あるいは、レポートで、
四角形コントロールを配置し高さなどを適宜設定します。
このコントロール名をボックス1とすると
レポートの詳細セクションのフォーマット時に
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
Me!ボックス1.Width = Me!達成率 * 5 * 567
End Sub
とすれば100%時に5cmの設定で伸縮します。

以上ご参考までにということで。

投稿日時 - 2015-12-07 20:39:53

お礼

早速のご連絡ありがとうございます。
先程(12/08深夜)見させて頂いたので、恐縮ですが明日実験をさせて頂きたく思います。
取り急ぎ、お礼申し上げます。
ありがとうございました。

投稿日時 - 2015-12-08 00:56:54

あなたにオススメの質問