- ベストアンサー
アクセスにて月末日付を取得し、テーブルの中身を更新するには?
お世話になっております。 Access2002で開発された以下のSQLが記述されているアクセスを要件がかわり、各月の月末日を設定したいのですが、どうしたらいいのかわかりませんので 教えてください。 現在の仕様 ある物件コードに複数の号棟がある場合、最新の日付 を持つ号棟コードの日付を"0000”に設定する。 例) 物件コード 号棟コード 日付 xxxxx 0001 2004/11/1 xxxxx 0002 2004/12/1 xxxxx 0000 2004/12/1 現在の仕様では、"0000”には 2004/12/1が 設定される したい事 例) 物件コード 号棟コード 日付 xxxxx 0001 2004/11/1 xxxxx 0002 2004/12/1 xxxxx 0000 2004/11/30 →最初に日付が設定されている11/1の月末日 を設定する 現在日付の最大値は”クエリ”にて抽出しているので 一番最初の日付”11/1”を設定することは”クエリ”の 条件を変更する事で設定することはできたのですが、 その先の月末日を設定する方法がわからないので 困っていますので宜しくお願い致します。 以下日付設定に関して現在記述されているSQL文 '全号棟竣工済みの[0000]号棟に最大の竣工日を設定 ssql = "delete * from T0000SET " gdb.Execute ssql Set oQy = gdb.QueryDefs("Q0000SET") oQy.Execute oQy.Close ssql = "UPDATE 号棟マスタ SET 号棟マスタ.竣工日 = Null WHERE (((号棟マスタ.号棟コード)=""0000""))" gdb.Execute ssql ssql = "UPDATE 号棟マスタ INNER JOIN T0000SET ON 号棟マスタ.物件コード = T0000SET.s1 SET 号棟マスタ.竣工日 = [s2]" ssql = ssql & " WHERE (((号棟マスタ.号棟コード)=""0000""))" gdb.Execute ssql
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
last_day()関数が使えれば月末日を返してくれます。 last_day()が使えなければDateAddで演算 DateAdd("d",-1,DateAdd("m", 1,[日付]))
その他の回答 (1)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
月末日は、翌月1日の1日前です。 これでDateAddで求められますよね?