• ベストアンサー

Access 日付の切捨て

"20060321"などの日付をあらわす文字列を、 "20060301"など、日を全てその月の1日に置換したいのですが、どうすればいいでしょうか? 勘で以下のようにしてみたのですが、エラーになってしまいました。 year(CDate([列名]))+month(CDate([列名]))+"01"

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

  • ベストアンサー
回答No.1

Access は "20060321" のような文字列を日付として認識してくれませんからあくまで文字列として以下のように扱ってしまった方が楽だとおもいます。 Left([列名],4) & Mid([列名],5,2) & "01"

guest98
質問者

お礼

ありがとうございました。 教えていただいた方法でうまくいきました。

その他の回答 (1)

noname#22222
noname#22222
回答No.2

全て関数化するのも何でしょうが... ? GetDate("2006/03/21", 0, 1) 2006/03/01 Public Function GetDate(ByVal Now As Date, _             ByVal Move As Integer, _             ByVal Hiduke As Integer) As Date                GetDate = DateSerial(DatePart("yyyy", Now), _              DatePart("m", Now) + Move - (Hiduke = 99), _              Hiduke * Abs(Hiduke <> 99)) End Function 質問自体に即答するならば... ? CDate(year(CDate("2006/03/21")) & "/" & month(CDate("2006/03/21")) & "/1") 2006/03/01

guest98
質問者

補足

日付は数値8桁で、スラッシュが入っていないんです。

関連するQ&A