2017-05-16 6 views
-2

私はアクセスに非常に新しいです - 私は、私が関与している研究プロジェクトのデータベースを設計することに力を入れていました。だから、私は何も知らないので、私に負担してください:)私が抱えている問題は、複数のフィールドのデフォルトを同じ日付にすることはできますが、個別に編集することはできますか?

私のデータベースは医学研究プロジェクトのためのものですが、時間と日付に非常に依存しています。私は、各データの日付と時刻をキャプチャする必要があるため、イベントのタイムライン各被験者について。

ようになり、私はデータごとに、次のようなものがあります(それ自身のフィールドの各)

ArrivalDate

ArrivalTimeは

HeartRateDate

HeartRateTime

をHeartRateData

TemperatureDate

TemperatureTime

TemperatureData

BloodPressureDate

BloodPressureTime

BloodPressureData

私は、各患者のために収集する必要があるデータの約200似た部分があります。何度も同じデータを繰り返し入力する必要がなく、またエラーの可能性を減らすためには、入力された最初の患者レコードの日付フィールドをすべてデフォルトにしたいと思います"到着日"。しかし、私はまた、他のものに影響を与えることなく、編集可能な各日付フィールドを必要とします。この理由は、患者の訪問が数日の間に発生した場合、それを正確に記録することができるからです。

"到着日"フィールドを参照するようにコントロールソースを設定するだけでなく、デフォルト値の設定を使いこなそうとしましたが、1つのフィールドの変更がすべてそれらに影響します。私がしようとしていることは可能であるとは確信していませんが、私は助けや提案を感謝します!

は、大きなテーブルの個別の列にあるすべてのデータが仕事に行くのではありません持って事前に

+0

なぜ日時を含む単一のフィールドではなく、別々の日付と時刻のフィールドがあるのですか? – Barmar

+0

これは、データベーススキーマではなく、データの入力に使用するアプリケーションに実装する必要があるようです。 – Barmar

+0

ArrivalDateをデフォルトにしたい場合は、コード-VBAまたはマクロが必要です。 200以上のデータは、200種類の統計情報を意味します。テーブルには255フィールドの制限があります。あなたのデータ構造は本当に正規化されていません。 – June7

答えて

1

、ありがとうございました。体温や血圧などの測定は、患者一人につき1回しか行いませんか?

これは古典的な1対多の関係です。

別のMeasurementsテーブルが必要です(例:

+--------+-----------+---------------+------------------+-----------+ 
| MeasID | PatientID | MeasType | MeasDateTime | MeasValue | 
+--------+-----------+---------------+------------------+-----------+ 
|  1 |   1 | Temperature | 2017-05-17 14:30 | 38.2  | 
|  2 |   1 | BloodPressure | 2017-05-17 14:30 | 130/90 | 
|  3 |   1 | Temperature | 2017-05-17 18:00 | 38.5  | 
|  4 |   2 | Temperature | etc.    |   | 
+--------+-----------+---------------+------------------+-----------+ 

バーマルが書いたように、日付と時刻を別々の列にする理由はありません。

測定値が入力される形式では、BeforeInsertイベントを使用して、MeasDateTimeを現在時刻に設定し、Now()機能を使用できます。

したがって、ユーザーは手動で入力する必要はありませんが、データの入力とは別の時間に測定した場合は編集できます。

+0

私はすべてのデータが回顧的であり、数年前からチャートから収集されているため、現在の日付をデフォルトにすることはできません。それが私が日付と時刻を別々の列に分けた理由です。 – Nicole

関連する問題