- ベストアンサー
accessにて生徒の成績処理
早速ですが、現在accessにて、成績処理をしようと思っております。 現在、疑問に感じているのが、 1.accessの「フォーム」に、「クエリで計算した標準偏差を追加もしくは表示」したいのですが、できません。というか、やり方がわかりません。私の頭の中では、クエリは計算用、フォームは見やすい入力装置と、計算結果の表示に優れていると認識しているのですが・・・ 2.同様に、クエリで順位付けすることはできたのですが、フォームもしくはレポートの順位表示欄に挿入していくことはできますか? 以上、VBAの知識はあまりありませんので、簡単な説明をしていただけたらと思っております。 お願いします。教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>→成績テーブルを用意すれば、SQLビューで以上の文を入力するだけで、標準偏差テーブルができるのでしょうか? これは、成績テーブルから得た情報をクエリとして表示させているだけで、標準偏差テーブルを作成しているわけではありません。 最初はちょっと難しいかもしれませんが、クエリとはテーブのデータを自分の活用したい形にした一時的な表です。 ちなみにフォームに標準偏差を表示させるには、適当にテキストボックスを貼り付けて、そのプロパティ→コントロールソースで =StDev([サイズ]) と入力すればOKです。 >2ですが、クエリにての並び替えはできるのですが、並び替えた「順番」を、フォームもしくはレポートの「順位」というフィールドに表示したいのです。 これについてフォームの形式は単票と表、どちらにしているのでしょうか? やり方としては2通りあって、クエリ作成時に順位というフィールドを作成するやり方と、フォーム表示時にRecordcountを取得して表示させるやり方があると思います。 アクセスでは後者の方が簡単と思われますが、それでもVBAの知識が必要になります。 これ以上はtakenokogomiさんの考案している仕様をもう少し詳しく説明して頂けないと何とも言えないので。 ではでは。
その他の回答 (4)
- laputart
- ベストアンサー率34% (288/843)
解釈が間違っていたらごめんなさい。 元テーブルからフォームを作成して、標準偏差用のテキストボックスなどをフォーム上で札制しても ?Nameになりますね。これは元テーブルとそのテキストボックスが関連していないからです。 お伺いしますが 元テーブルと標準偏差計算クエリーの関連性はどうなっていますか。例えば生徒番号とかIDが1対1に対応している とかいうことでしょうか。 ●あたらに元テーブルと標準偏差を合成したクエリーを作る方法、その場合はそのクエリを元にフォームを作成すれば解決します。 ●あるいはるか、フォームで親フォームと子フォームで関連付けするという方法もあります。 私の解釈が間違っていたら、そう指摘してください。 併せてもう少し具体的に現在のテーブルとクエリの内容を教えて下さい。 実際にACCESSで作ってみてから回答致します。
- laputart
- ベストアンサー率34% (288/843)
まず、(1)について詳しく教えてください。 標準偏差のクエリーは元テーブルから作成された クエリーとは別でしょうか。別なら一つのフォームに 複数のクエリーのデータを表示させるのなら何らかのリレーションを設定する必要があります。 また同じクエリーの中に標準偏差があるのならそのフィールドをフォームに貼り付けたらどのように 表示されますか? (2)についてもクエリーで並び替えも出来ますし フォームでも可能です。
- ssssssssss
- ベストアンサー率23% (24/103)
SSSSSSSSSSSです。 2の回答で間違いに気づきましたので補足しておきます。 点数で順位付けする場合、点数が多いほうが順位が上になると思われるので、 ORDER BY 点数 の部分を ORDER BY 点数 DESC として下さい。 これで点数の多いほうが上位となります。
- ssssssssss
- ベストアンサー率23% (24/103)
質問の件に関してはVBAの知識は必要ありません。 どちらかというとSQLの領域となります。 1の回答 標準偏差とはある集団に対して求める値であって、各生徒が持つ値ではありません。 つまり、一般的には成績と違うテーブルに表示させるという手法になります。 SQLビューで次のSQL文を実行すればOKです。 SELECT STDEV(点数列) FROM 成績テーブル; 2の回答 これもフォーム、レポートにひもとくデータのテーブルあるいはクエリを成績順に並べればOKです。 次のクエリあるいはテーブルを用意して、それをフォームあるいはレポートにリンクさせてやって下さい。 SELECT * FROM 成績テーブル ORDER BY 点数;
補足
。一般的には成績と違うテーブルに表示させるという手法になります。 SQLビューで次のSQL文を実行すればOKです。 SELECT STDEV(点数列) FROM 成績テーブル →成績テーブルを用意すれば、SQLビューで以上の文を入力するだけで、標準偏差テーブルができるのでしょうか? 2ですが、クエリにての並び替えはできるのですが、並び替えた「順番」を、フォームもしくはレポートの「順位」というフィールドに表示したいのです。 できれば、リンクの方法も教えてください。 勝手なことばかり書きまして申し訳ありません。なにせ、初心者ですから…
補足
早速のご回答ありがとうございます。 >同じクエリーの中に標準偏差があるのならそのフィールドをフォームに貼り付けたらどのように 表示されますか? フォームは、元テーブルで作成しています。 そこに、元テーブルから作成したクエリの標準偏差をフォームに表示させたいのです。 コントロールソースにクエリで出た標準偏差を入力したのですが、「?NAME」だと思いますが、表示されてしまいます。