- ベストアンサー
Accessについて
今、本を見ながらAccessを勉強し作成していますが、どういう風に作成していけばいいか分かりません。 作成しようとしているのは、仕事に使用する入力フォームですが、 例) 質問項目 回答 日付 1.今日の仕事の出来具合は? 良い・普通・悪い 2/23 というような内容が10問程あり、良い=3点 普通=2点 悪い=1点で集計をとり、さらに10問の合計の日次・月次集計がExcel等で出力出来ればと思います。これを各社員に入力してもらいたいと思ってます。 入力方法は、各社員がまず氏名・日付を入力、質問項目に回答(出来ればトグルボタンみたいな視覚的に入力しやすいもの)、回答内容を保存。管理者が、各社員の回答結果を定期的に集計。 と、いうような感じです。 簡単に(可能であれば具体的に)こんな感じで作ってみては・・・というアドバイスを是非お願い致します。 内容が分かりづらいかもしれませんが、御教授お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
テーブル_質問事項: ID・・・・・・・・・・・・長整数____1,2,3・・・・N 質問番号・・・・・・整数______1,2,3・・・・10 質問文・・・・・・・・テキスト(32) テーブル_社員: ID・・・・・・・・・・・・長整数____1,2,3・・・・N 社員番号・・・・・・整数______1,2,3・・・・10 並び順・・・・・・・・整数______1,2,3・・・・10 氏名・・・・・・・・・・テキスト(16) 読み・・・・・・・・・・テキスト(32) テーブル_各種設定: 回答1評価点・・・整数______3 回答2評価点・・・整数______2 回答3評価点・・・整数______1 テーブル_質問履歴: ID・・・・・・・・・・・・長整数__________1,2,3・・・・N 社員_ID・・・・・・・長整数__________1,2,3・・・・N 日付・・・・・・・・・・日付・時刻型____2008/02/23 etc. 質問事項_ID・・・長整数____1,2,3・・・・N 回答・・・・・・・・・・整数______1;2;3; ルール1、主キーは長整数で統一する。 ルール2、連結列は、<テーブル名_ID>で統一する。 ルール3、主キーと質問事項や社員の検索キーとを分ける。 ルール4、ソートは単純に列[並び順]を利用する。 ルール5、通常の数値列は整数で統一する。 ルール6、テキスト列は、8の倍数で統一する。 ルール7、回答評価点などはテーブルに持たせてプログラム中に埋め込まない。 エクセルへの表示は、専用の関数を用意してSQL文一発とする。 A11=DBLookup("SELECT [コード] FROM Tab2", 1) 例えば、ADOってやつを利用すれば、このように関数一発でエクセルにアクセスのデータも表示可能。 ところで、ルール1から7はあくまでも、テーブル設計で色々と悩まないための私自身のもの。 ここら辺りは、それぞれの趣味というか好みの問題です。 ここを確立するのが先ずは必要です。 ところで、上記のテーブル設計と入力フォーム、エクセルへの表示との関連性が見通せますか? テーブル_各種設定: 回答1評価点・・・整数______3 回答2評価点・・・整数______2 回答3評価点・・・整数______1 テーブル_質問履歴: ID・・・・・・・・・・・・長整数__________1,2,3・・・・N 回答・・・・・・・・・・整数______1;2;3; 先ずは、これだけの簡単なテーブルでテーブル_質問履歴.ID をカウントする術を確立すること。 先ずは、回答の1,2,3を良い・普通・悪いに変換表示し、かつ、点数参照することに成功すること。 先ずは、エクセルにそれを集計表示することに成功すること。 こういう一連の手続きに成功することが初手のハードルです。 どういう風にテーブルを用意しフォームを作成すればいいのか? どういう風にそれをエクセルで集計表示すればいいのか? この一連の手続きの行方を見定めるのが先決です。 トグルボタン云々は、まだまだ、先の話です。 頑張って下さい。
その他の回答 (1)
アクセスを使うときに最初にしなくてはいけないのはテーブル構造の設計です。テーブルの状態によりフォームの作り方などは変わってきます。 フォームを作りやすくするためには、回答を10個分1レコードとして扱ったほうが楽です。 しかし後々質問の個数などを変更したくなったときには、テーブルレイアウトの変更を余儀なくされます。 個々の質問に対しての回答を1レコードとした場合はデータの登録や集計部分を作るのに少し手間がかかります。 テーブルが出来上がったらフォームを作成できますが、フォームもテーブルに連結させるか、そうでないかを選択しなければなりません。 連結させた場合は、簡単にできますが、2重登録になったり、中途半端で登録を終了されてしまう可能性などがありますので、ちょっと工夫が必要になると思います。 非連結で作る場合は、VBAの知識が必要になりますが、複数端末で使いたいと考えておられるなら、こちらのほうが良いかもしれません。 質問の回答に関してはフレームにオプションボタンかチェックボックスを配置するのが良いと思います。
お礼
早速の回答ありがとうございました
お礼
早速の御回答ありがとうございました。参考させていただき、勉強・作成中です。