• ベストアンサー

アクセスにて月末日付を取得し、テーブルの中身を更新するには?

お世話になっております。 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

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

last_day()関数が使えれば月末日を返してくれます。 last_day()が使えなければDateAddで演算 DateAdd("d",-1,DateAdd("m", 1,[日付]))

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

月末日は、翌月1日の1日前です。 これでDateAddで求められますよね?

関連するQ&A