• ベストアンサー

文字型を日付/時刻型に変換するには?

文字型変数に格納している数値を日付/時刻型のフィールド (Access)に保存したいのですが、変換方法を教えて下さい。よろしくお願いします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 日付認識出来る文字列("2002/12/11"など)なら、CDate関数で日付型に変換すればいいと思います。 日付認識出来るかどうかのチェックは、IsDate関数を使います。 "20021211"のような特殊な記述(西暦4+月2+日2)なら、 CDate(Left(文字列, 4) & "/" & Mid(文字列, 3, 2) & "/" & Right(文字列, 2)) という感じになります。

siamzou
質問者

お礼

ありがとうございました。 無事、解決できました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

2002/12/1式の文字列のファイルを、日付/時刻型に変換します。テスト済み。 Sub test01() Dim db As Database Dim rs1 As Recordset Dim intcount, i As Integer Dim dd, y, m, d As String Dim p, s As Integer Dim h As Date Set db = CurrentDb() Set rs1 = db.OpenRecordset("座席") ', dbOpenDynaset) rs1.MoveLast intcount = rs1.RecordCount rs1.MoveFirst For i = 1 To intcount s = 1 dd = rs1!テキスト日付 p = InStr(s, dd, "/") y = Mid(dd, 1, p - 1) s = p + 1 p = InStr(s, dd, "/") m = Mid(dd, s, p - s) d = Mid(dd, p + 1, Len(dd) - p) h = DateSerial(y, m, d) rs1.Edit rs1!日付 = h ' MsgBox rs1!日付 rs1.Update rs1.MoveNext Next i db.Close End Sub

siamzou
質問者

お礼

ありがとうございました。 今回、教えて頂いた方法は使いませんでしたが また違うケースで悩んだ時には是非使わせて頂 きたいと思っています。^^

  • patak
  • ベストアンサー率23% (108/457)
回答No.1

VBの場合は、format文を使って変換すれば、日付型になります。 format(文字列,"yyyymmddhhmmss") EXCELの場合、セルを書式設定で日付型に変換すれば大丈夫かと思います。 EXCEL VBAを使用している場合、上記のFormat文を使用すれば大丈夫かと思います。

siamzou
質問者

お礼

ありがとうございました。^^

関連するQ&A