• ベストアンサー

ACCESSの入門者です。事務部門、社員15名、業務種類数百という状況

ACCESSの入門者です。事務部門、社員15名、業務種類数百という状況で、社員ごとの担当業務、業務ごとの担当社員、業務の進捗状況を表示できるものを作りたいと思っています。業務担当は単独、複数があります。どのような構成にしていくのが作りやすいでしょうか。社員情報にはID、氏名、メールアドレスがあります。現在は、エクセルで業務を縦に番号と内容で表示し、横に社員名を入れた単純な表です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

テーブル ■社員マスター ・社員コード (主キー) ・氏名 ・入社日 ・生年月日 ・役職コード ・部署コード ・主業務コード ・副業務コード1、2、3 … …などなど。 ■役職マスター ・役職コード (主キー) ・役職名 ■部署マスター (1部署内でのみ使うならば不要) ・部署コード (主キー) ・部署名 ■業務マスター ・業務コード (主キー) ・業務名 ・業務詳細コード ■業務詳細マスター ・業務詳細コード (主キー) ・詳細業務名 …と、こんな感じでしょうか。 それぞれコードでリレーションを設定しておき、 ・業務に進捗があれば、それを「業務詳細入力」フォームから入力する ・業務に新たに加わる人がいれば、「社員マスター変更」フォームから入力する …などを設定。 ●●さんは →●●という業務を主で抱えているが、●●~●●という副業務もある →●●という副業務を見ると、業務詳細が~~まで塗りつぶされているから、この業務はどのくらいまで終わっている、と判断できる …などなど。 業務マスターに対して、詳細業務をどのように関連付けるのかで使いやすさも変わるかな、という感じですが、パッと思いついた限りでは、チェックボックスがオンならば詳細が終わっている…という事にしておいて、全ての詳細が終わっていればその業務は完了になった、という判断をさせるのがいいのかな、と思います。 また、そのチェックの件数が全体の件数の●%にあたるかで、業務進捗率も出せるのかな、と。 詳細業務に「重み」を持たせることで、その重みから●%という進捗率を出してもいいかもしれないですね。 マスターの作り方が細かすぎるかもしれませんが、Accessの利点としてリレーションがある訳ですから、リレーションを駆使すればいくらでもデータを引用・集計できるので、クエリを作る時にどうしていくか、まで考えてマスターの内容の細かさを決めていけばいいでしょう。 ただ、社員ひとりに対しての一日の進捗具合を入力する、というフォームにしておかないと、入力が大変でしょうね。 業務に対しての進捗具合の入力にしてしまうと、ものすごく煩雑な入力になるはずです。 各個人がラクに入力できるよう、フォームの工夫が必要でしょう。

suepom28
質問者

お礼

ありがとうございます。どんな風にテーブルを作っていくのがいいのかすら、良い考えが思いつきませんでした。業務マスターで、業務内容をまとめられるものは出来るだけまとめて、一つの業務にしたい(業務総数を減らす)と思います。作りながら、ACCESSを覚えていきたいと思っています。

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.5

「正規化」、構成を考える上で出てきます。 「正規化する」とは何?を学習しましょう。 サンプルの真似だけではわからない話です。

すると、全ての回答が全文表示されます。
  • shinkami
  • ベストアンサー率43% (179/411)
回答No.4

dark_kappa様 横からごめんなさい 自分も dark_kappa 様のご提案の通りですが 稀にですがコードを変更したいことがありますが、データが残っていれば変更ができません そのため 主キーはデータ型をオートナンバー型にしてコードとは別に定義しておきます。 したがって例えば社員んマスターは ・社員ID(主キー、オートナンバー型) ・社員コード (整数型、重複なし) ・氏名(テキスト型、IMEモード:ひらがな、IME変換モード:人名/地名) ・入社日(日付/時刻型) ・生年月日(日付/時刻型) ・役職ID(長整数型、ルックアップ設定で役職のコンボボックス) ・部署コード(長整数型、ルックアップ設定で役職のコンボボックス) 面倒ですがフィールドの属性をここで決めておくと、フォーム設計、レポート設計で この属性を引き継いでくれます。 社員テーブルは人事評価にもつなげたいので色々項目を追加したいでしょうが 欲張らないことです。 例えば、資格もということになりますがこれは後日資格テーブルと資格取得テーブルを追加します。 取得資格テーブル ・社員ID ・資格ID ・資格取得日

suepom28
質問者

お礼

参考になります、ありがとうございます。資格、人事評価、将来そこまで持っていければ、なお良いですね。

すると、全ての回答が全文表示されます。
  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

構成よりはどういうものをイメージしているか、土台が必要です。 要素がそろってから構成を考えたらと思います。 今ここでサンプルを提示しても根拠の薄い回答になります。 求めているものに近くなっているかが判断できなければ意味がないです。 1)進捗に必要となる要素、条件、など考えられるものを 箇条書きやおおまかでもいいので列挙していってください。 ・ワークシートの見出しになっている項目はそのまま必要となるでしょう。 ・何を基準にして進捗度を測るのか、時間なのか?量なのか?等 2)それを同じカテゴリにまとめていくことで、それが1つのテーブルになります。 ・業務(単独・複数)に関する項目群→業務テーブル ・日付に関する項目群→カレンダテーブル ・社員情報に関する項目群→社員テーブル ・進捗情報に関する項目群→業務進捗テーブル 等 3)結果を明確にしてください。 ・グラフを出したいのか、一覧なのか、警告リストかメール送信か、等 4)進捗データをどう保持していくか。 ・フォーム作って入力するか ・エクセルなどからインポートするか 5)運用 ・利用ユーザを管理していくか ・各ユーザが入力するか、管理者が入力するか ・各ユーザが照会するか 作る前にいろいろ考えなくてはなりません。 またどこまでのスキルがあるのでしょうか。 販売管理や在庫管理などはネットでもサンプルありますが、 進捗管理はエクセルでもできるので、あまりいいのがありません。

suepom28
質問者

お礼

ありがとうございます。結果フォームは一覧と個人票でと思っています。進捗管理は難しそうですね。スキルですか?冒頭に書きましたように入門者です。作りながらACCESSを覚えていきたいと思っています。どうせなら、仕事に使えるものをと思った次第です。まずは、個人別の業務担当、業務別の担当者の表示から始めたいと思います。

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

コンピュータ化するという主旨は良いと思いますが、「ACCESSの入門者です。」というように、教科書的な捉え方のように思い、心配します。 日々、月々に仕事の内容や担当は変わると思います。 また進捗状況は毎日変わって行き、達成度などは、担当者個人や部署上司の主観や立場が入らざるを得ない項目です。 ーー 私が言いたいのは、誰がどのようにデータを入力する体制ですか(Data-Gatheringは)。 各自社員が毎日入力するのでしょうか。質問者が報告書を集めて、入力するのでしょうか。 そのデータはどのようにして集めるのか。なかなか出してくれないものと思いますよ。 各社員が入力する仕組みなら、「ACCESSの入門者です」ではなかなか難しいと思います。 あまり正確でない、また時期遅れのデータを形式的には「正確」に集計や加工しても、誰も見てくれないものです。 はやる気持ちとかはわかりますが、上司の指示かもしれませんが。 全般にアクセスVBAやSQLをプログラムで自由に扱える技量になってからの課題ではないですか。 モデルデータを作ってSQLで望みのものが出るかチェックしてみては。SQLで加工できる程度にしておかないと、メンテが難しいでしょう。 周りにシステムやプログラムの疑問を聞いてくれる人がいますか。 ーー ACCESSの勉強はするとして、フリーソフトでも探して、近い機能のソフトを探したら。

suepom28
質問者

お礼

他の人が作ったフリーソフトは色々使っているのですが、使い勝手が悪い、或いは、自分の望む機能がないのがほとんどです。と言って、ガチガチの有料ソフトを買う予算もなく、ならば、自分で作れば「機能の低さも我慢できよう」と思った次第です。ひとまず作って、勉強しながら細々と改善して参ります。ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A