- ベストアンサー
Access 自動的に今日の日付をデータとして登録できませんか?
いつもお世話になっております。 Accessで文書管理のデータベースを作ろうと思います。 あるテーブルの右端に受付日というフィールドを設け、 そこにデータ入力をした日(または更新日)が自動的(ユーザーが打ち込まなくても)にはいるようにしたいのですが、可能でしょうか? ぜひよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
テーブルのデザイン時に、プロパティ「既定値」に =Now() としてみてください。 新規データの挿入時に既定値としてシステム時間がセットされます。更新されたくなければ保護をすればよいです。
その他の回答 (2)
- OsieteG00
- ベストアンサー率35% (777/2173)
保護は、Accessのフォームからの入力でしたら、フォームの該当カラムのプロパティの「編集ロック」をONにすればよいです。「使用可能」をオフにしておくとなお良いです。非表示のプロパティもあったかと思います。 で、既定値によるセットはデータの挿入時にしか適用されません。もし、データの更新時にもセットしたいのであれば、データベースエンジンとしては機能がありません(Oracleなどでしたらありますが)ので、データ入力プログラム側で対応してください。たとえばAccessのフォームからでしたら、マクロを自前で組む必要があります。
お礼
丁寧な解説ありがとうございました。既存データの受付日フィールドのデータは自分で入力することにします。
- imogasi
- ベストアンサー率27% (4737/17069)
>新規データ挿入時にセットされました。 テーブルのデータ型を日付/時刻型にして、既定値にDate()かNow()かTime()を(半角で)セットする。これで新規データをテーブルへ追加するとき、システムの時刻が自動で入る。 そもそもセットしたいのは、日、日+時刻、時刻のどれでしょうか。 >既存データを更新(あるフィールドのデータを再度打ち込む)しても、受付日のフィールドにシステム時間がセットされないのですが・ 「受付日」フィールドは、上記Time()をセットしたフィールドですよね。 過去に入力したデータの「受付日」は空白のままですよね。 これは、受付日がいろいろばらばらで、自動で入力しようがないのではないですか。 「>受付日のフィールドにシステム時間がセットされないのですが」とはどういうことでしょうか。 今回、今までにない、受付日というフィールドの追加をしたのであれば、過去の受付日フィールドのデータは、同じ日付ではないだろうから、上記の「既定値」へのセットを一旦やめて(抹消して)、人手で1つ1つ入力せねばならないはず。 言っておられることが判らない。
補足
新規データ挿入時にセットされました。ありがとうございました。既存データを更新(あるフィールドのデータを再度打ち込む)しても、受付日のフィールドにシステム時間がセットされないのですが・・・。 また、保護の仕方も教えていただけると大変助かります。 よろしくお願いします。