2011-07-19 6 views
0

現在、特定のタスクを担当する従業員に関する情報を格納しているMS Accessアプリケーションがあります。MS Access従業員の有効日を追跡する

私のフォームはこのようになります。テキストボックスにタスクを入力します。スタッフテーブルにバインドされたコンボボックスから従業員を選択します。最後に、この情報をタスクテーブルに保存します。私が思ったほどシンプルです...

しかし、ここに問題があります。従業員は会社内で永遠に働いていません。新しい/別の従業員は、もはやそこで働いていない従業員によって以前に実行されたタスクを割り当てられてもよい。フォームでは、私は新しい従業員を更新すると、古い従業員の情報が置き換えられ、その従業員が存在することもわかりません。

従業員の履歴を追跡するために使用される可能性のある有効な日付を従業員に追加するというコンセプトに遭遇しました。

ここで、新しい従業員の情報でタスクフォームを更新すると、以前の従業員のデータをどのように保存できるかを知りたいと思います。

どうすればよいですか?

ありがとうございました。

BR、 ポール

私が働いている三つの形式へのリンクをアップロードしています。私たちが言及した日付フィールドを持っていない社外役員フォームで

enter image description here

enter image description here

enter image description here

  • 当社の企業提案フォームでは、役員を追加する必要があるかもしれませんが、役員、部門、代行担当者&部門だけの提案情報を繰り返すことは望ましくありません。
  • 社外の詳細フォームでは、他の機関情報に適用することなく、会社のディレクターに同じ概念を適用する必要があります。

このトピックについては、効果的な日付の概念を説明するドキュメントがありました。私はこれをどのように適用するか、またアプリケーションに多くの変更を加えることなく知る必要があります。

  • www.gsa.gov/graphics/staffoffices/DatedInformationandDateTracking.pdf

私は、これはあなたが私の問題を理解するのに役立ちます願っています。

+0

どのようなデータあなたが保存しようとしていますか?従業員の仕事の歴史?または従業員に関連付けられた個人データ(名前、従業員IDなど)? – mwolfe02

+0

私が働いているアプリケーションにある3つのフォームへのリンクをアップロードしました.http://i.imgur.com/x917M.png http://imgur.com/oxt6P.jpg http: /i.imgur.com/8n1Sp.jpg – user517803

+0

@ mwolfe02、私の編集したバージョンの問題を見て、それが何か助けているかどうかを確認してください(スクリーンショット) – user517803

答えて

0

あなたは非常に単純な情報を保持しているように見えますが、現在誰が特定のタスクに割り当てられているか知りたいと思うでしょう。テーブルに「assignedDate」フィールドを追加します。次に、現在の担当者を照会に表示する必要があるレポートまたはフォームを変更して、「タスク」でグループ化し、最新のレコードのみを選択することができます。

タスクテーブルにフィールドとして割り当て先を含めないでください。タスクID、連絡先ID、入力日付、割り当て日付、割り当てられていない日付で構成される「TaskAssignees」という追加のテーブルが必要です。今レポートでは、任意の日付を与えられた正しい譲受人を引っ張ったり、譲受人の履歴を最初から最後までリストすることができます。

+0

私の編集したバージョンの問題を見て、それは任意のヘルプのであれば(スクリーンショット – user517803

+0

私はStackOverflowのにかなり新しいですので、おそらく私は彼らが私のブラウザでは表示されませんし、名前は私がいないので、リンクではありません。あなたが指摘しているそれらの画像を見つける方法を知りませんそれ以上の情報を参照してください –

+0

http://i.imgur.com/x917M.png http://imgur.com/oxt6P.jpg http://i.imgur.com/8n1Sp.jpg; 3つのリンクはちょうど、ブラウザにコピーします – user517803

0

私はあなたが問題をあまりにも複雑にしていると言います。

退職した従業員が離職したときに何が起こるか、退職した従業員の上司または同僚に交代した場合の管理方針があります。

したがって、アプリケーションはそのビジネスプラクティスをエンコードする必要があります。従業員を編集するフォームは、従業員が離れるときに、そのタスクが適切な従業員に移動されるように設定する必要があります。つまり、有効な日付を格納しておかないと、その日付までにフィルター処理する複雑なSQLを書き込む必要はありません。代わりに、あなたはすでに持っているのと同じ構造を使用します。

もちろん、私はばかなことではありません - 多くの企業がこのようなポリシーを持っているべきであることは知っていますが、非常に多くの場合、これらのことが亀裂になります。私がこのポジションにいるとき(外注業者として)、私は彼らに2つの選択肢を教え、2つの選択肢を提示する。従業員が離職したときに割り当てられたタスクがどうなるかに関するポリシーを実装することは安価です。発効日は費用がかかります。だから、もし彼らがお金を節約したいのであれば、彼らはデータベースアプリケーションで実装できるポリシーを思いつくでしょう。でも

+0

彼が言及したリンクは、彼が政府のサービス要件を満たしている必要があり、すべての情報が交渉可能ではないと信じさせる。 [リンク](http://www.gsa。gov/graphics/staffoffices/DatedInformationandDateTracking.pdf) –

+0

私はそのデータを記録し、それでも自分のやり方で行うことができます。 –

0

既に提案ソリューションがあなたのために動作しない場合は、あなたが効果的にレコードに行われるすべての変更をログに記録し、監査テーブルを作成する時に見ることができる(これは、あなたがすべての変更を追跡することができるという利点を持つことになり、あなたがまだ開発していないシステムの領域で)。ここで

は、あなたがこれをやって行くことができる方法を示すリンクのカップルです:

a simple solution for tracking changes to access data

Allen Browne - creating an audit log.

関連する問題