- 締切済み
Accessデータベースで測定データ管理
Accessデータベースで測定データの管理を行いたいと思っています。Access初心者です。 目的ははっきりしているのですが、何しろデータベースを作ったことがありません。 まず 1、測定日 2、実施者 3、Aについて:測定値(3回分:それぞれ入力するフィールドがある)、平均値、Referenceからの誤差 4、Bについて:測定値(3回分:それぞれ入力するフィールドがある)、平均値、Referenceからの誤差 5、Cについて:測定値、Referenceからの誤差 などを一括管理(フォーム)して、後に測定日からその日のA、B、Cの測定データを表示したり、測定日の期間を入力し、集計を行い、グラフ化するような作業が行いたいと思っています. 現在、1~5までをそれぞれのテーブルを作って、フォームを作ろうとしていますが、複数のテーブルから1つのフォームで作成しようとすると、リレーションシップを行う必要があるとメッセージが出ます. クエリについてはまだ無知です(いずれ抽出作業で必要とは思っておりますが・・・) 全般的にこの種のデータベースが作れるか否かすらもまだわかっていません。 どうかご教授ください。よろしくお願いいたします。 また、作成にあたり参考サイトなどを教えていただけると幸いです。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- layy
- ベストアンサー率23% (292/1222)
>現在、1~5までをそれぞれのテーブルを作って、フォームを作ろうとしています テーブルの状態が固まってからクエリやフォームを作る。 フォームを作ってておかしいからと言ってまたテーブルを直す、またフォームを直す、 これがあまりにも頻繁に起きていたのでは時間のロスです。 土台となることをしっかりやること。 確認できた事項から取り組むこと。 その方が後でやり直しが少ないです。 作り方が確かな部分とあやふやな部分を明確にしておくこと。 中途半端で進めると、どこでどうおかしくなったか訳わからなくなりますから、 おかしいときはこのあたりだ、だけでも進めるうえで違います。
- aosiro333
- ベストアンサー率0% (0/0)
こんにちは。 えらそうなことはいえないレベルの私ですが、もし時間的な余裕があるのなら、 SQLの基本から勉強をして、Accessを使ってみるべきかと思います。 むしろ、Accessとはいえ、そうしないと途中でわけがわからなくなると思います。 そのほうが、途中で挫折する危険が少ないような気がします。 ページはSQLなどで検索すればいろいろと見つかりますよ。
- layy
- ベストアンサー率23% (292/1222)
「正規化」も覚えてください。 テーブルを考える上で必要になってくる概念です。
- nicotinism
- ベストアンサー率70% (1019/1452)
例えば饅頭屋さんの製品管理で考えて。。。 T製品マスタ ID オートナンバー型(主キー) 製品名 テキスト型 重量 倍精度浮動小数点型 色判定 整数型 1~5まで サンプル ID 製品名 重量 色判定 1 さくら 10 4 2 もみじ 15 4 ・・・ を基準値などを格納したテーブルとします。 T測定者マスタ ID オートナンバー型(主キー) 氏名 テキスト型 サンプルは省略 T測定 ID オートナンバー型(主キー) 日付 日付型 測定者ID 長整数型 製品ID 長整数型 測定回 整数型 重量 倍精度浮動小数点型 色判定 整数型 サンプル ID 日付 測定者ID 製品ID 測定回 重量 色判定 1 2011/1/1 1 1 1 10.5 4 2 2011/1/1 1 1 2 11 5 3 2011/1/1 1 1 3 9 1 4 2011/1/1 2 2 1 15 4 5 2011/1/1 2 2 2 14.5 3 6 2011/1/1 2 2 3 16 5 7 2011/1/1 1 2 1 15 4 8 2011/1/1 1 2 2 14.5 3 9 2011/1/1 1 2 3 16 5 としておけば クエリで、日付、製品ID、重量を選択し 日付、製品IDでグループ化、重量を平均(AVG)とすれば求められます。 基準値との差は T製品マスタとT測定でクエリを作り T製品マスタのID と T測定の製品ID で連結し、 新たなフィールドとして、重量差: [T製品マスタ].[重量]-[T測定.重量]を 設ければOKです。 サンプルが見づらければメモ帳にでも貼り付けて等幅フォントで見てみて。 文書の整形が面倒になってきたので添付画像にしました。見えると良いけど。 こういう設計なら製品がいくら増えても測定回数が増減しても対応できます。 かなり荒っぽいですが、ざっとこんな感じです。 WEBサイトならこちらが分かりやすいかと思います。 魔法使いの開発工房 http://www.mahoutsukaino.com/
- layy
- ベストアンサー率23% (292/1222)
必要となる項目を列挙する。ここから始めます。 仕掛けはその後で考える。 1)すべての項目を1テーブルにする、A測定があれば必ずB測定C測定がある。 測定日、実施者、A測定1回目、A測定2回目、A測定3回目、B測定1回目、・・・ 2)測定単位で項目を1テーブルにする、A測定だけがある。 測定日、実施者、A測定1回目、A測定2回目、A測定3回目、・・・ 測定日、実施者、B測定1回目、・・・ 測定日、実施者、C測定1回目、・・・ 3)測定、回数も値にして項目を1テーブルにする、D測定や4回目が増えても対応可能。 測定日、実施者、測定、回、 テーブルの作り方は保持したい形でもっていろいろあります。 フォームには1)の形で渡してやるのかと思われますから、 2)や3)から1)を作るクエリ。 平均値、Referenceからの誤差はクエリ上で計算。 測定値複数を引数で渡して平均や誤差を返すFUNCTION関数2個を作成。 ACCESS http://www.happy2-island.com/access/gogo03/capter00503.shtml http://www.tsware.jp/index.htm http://www.accessclub.jp/index.html サイトは、「TIPS」「テクニック」などキーワードで探せば他にもいろいろ。