Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


232 / 2272 ツリー ←次へ | 前へ→

【12458】日付自動表示 せい 14/1/6(月) 15:47 質問[未読]
【12459】Re:日付自動表示 かるびの 14/1/8(水) 2:50 回答[未読]
【12460】Re:日付自動表示 せい 14/1/8(水) 10:25 お礼[未読]

【12458】日付自動表示
質問  せい  - 14/1/6(月) 15:47 -

引用なし
パスワード
   あくせす2000
NO 開始日 日数 終了日とフィールドがあります

NO1の開始日は自動で今日の日付を入れる終了日は日数をプラスした日付が入る
NO2にはNO1の終了日の次の日が自動で入り終了日に日数を足した日付が入る
NO3開始美は2の終了日の次の日
つまり日数だけを入れれば日付がはいるようにしたいのです

NOはオートではなく入力し、クエリで並び替えを行っています
順番が入れ替わることがあるからです
入れ替わっても先の条件は変わらずに対応できるような形です

【12459】Re:日付自動表示
回答  かるびの  - 14/1/8(水) 2:50 -

引用なし
パスワード
    アクセスは、あるレコードの値を、他のレコードの値によって決める
ということがとても苦手です。
 なので、質問の案件は、エクセルでやるのが最も適していると思います。


 強いてアクセスでやるならばですが、
 まず、テーブル構成は、
   テーブル名:T日数
     ID  オートナンバー型 (主キー)
     番号 整数型  (Noは予約語なのでフィールド名に使うのはNG)
     日数 バイト型
となります。
 開始日や終了日は計算で求めることができるので、これらをテーブルに持ってはいけません。


 次にクエリですが、

SELECT Date() AS 今日
   ,T日数.番号
   ,今日 + Nz(DSum("日数","T日数","番号<" & T日数.番号),0)
      + Nz(DCount("ID","T日数","番号<" & T日数.番号),0) AS 開始日
   ,T日数.日数
   ,開始日 + T日数.日数 AS 終了日
FROM T日数

というクエリになると思います。
 DSum関数やDCount関数といういわゆるD系関数を使うので、
テーブルのレコード数が多くなってくると、クエリの速度が極端に遅くなると思います。

【12460】Re:日付自動表示
お礼  せい  - 14/1/8(水) 10:25 -

引用なし
パスワード
   エクセルを考えます
ありがとうございました

232 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078190
(SS)C-BOARD v3.8 is Free