プロが教えるわが家の防犯対策術!

いつもお世話になっております。
Accessで文書管理のデータベースを作ろうと思います。
あるテーブルの右端に受付日というフィールドを設け、
そこにデータ入力をした日(または更新日)が自動的(ユーザーが打ち込まなくても)にはいるようにしたいのですが、可能でしょうか?
ぜひよろしくお願いします。

A 回答 (3件)

テーブルのデザイン時に、プロパティ「既定値」に


=Now()
としてみてください。
新規データの挿入時に既定値としてシステム時間がセットされます。更新されたくなければ保護をすればよいです。

この回答への補足

新規データ挿入時にセットされました。ありがとうございました。既存データを更新(あるフィールドのデータを再度打ち込む)しても、受付日のフィールドにシステム時間がセットされないのですが・・・。
また、保護の仕方も教えていただけると大変助かります。
よろしくお願いします。

補足日時:2005/10/10 10:21
    • good
    • 0

保護は、Accessのフォームからの入力でしたら、フォームの該当カラムのプロパティの「編集ロック」をONにすればよいです。

「使用可能」をオフにしておくとなお良いです。非表示のプロパティもあったかと思います。

で、既定値によるセットはデータの挿入時にしか適用されません。もし、データの更新時にもセットしたいのであれば、データベースエンジンとしては機能がありません(Oracleなどでしたらありますが)ので、データ入力プログラム側で対応してください。たとえばAccessのフォームからでしたら、マクロを自前で組む必要があります。
    • good
    • 0
この回答へのお礼

丁寧な解説ありがとうございました。既存データの受付日フィールドのデータは自分で入力することにします。

お礼日時:2005/10/10 13:18

>新規データ挿入時にセットされました。


テーブルのデータ型を日付/時刻型にして、既定値にDate()かNow()かTime()を(半角で)セットする。これで新規データをテーブルへ追加するとき、システムの時刻が自動で入る。
そもそもセットしたいのは、日、日+時刻、時刻のどれでしょうか。
>既存データを更新(あるフィールドのデータを再度打ち込む)しても、受付日のフィールドにシステム時間がセットされないのですが・
「受付日」フィールドは、上記Time()をセットしたフィールドですよね。
過去に入力したデータの「受付日」は空白のままですよね。
これは、受付日がいろいろばらばらで、自動で入力しようがないのではないですか。
「>受付日のフィールドにシステム時間がセットされないのですが」とはどういうことでしょうか。
今回、今までにない、受付日というフィールドの追加をしたのであれば、過去の受付日フィールドのデータは、同じ日付ではないだろうから、上記の「既定値」へのセットを一旦やめて(抹消して)、人手で1つ1つ入力せねばならないはず。
言っておられることが判らない。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!