アクセスのテーブルの日時フィールドに年月日時が保存されています。

2009/03/11 12:12:12といった具合にです。この2つをVBAで分割して年月日フィールドと
時フィールドに挿入したいと思っています。最初に思いついたのはLeft関数とRight関数
で切り取って処理時に各テーブルに挿入しようと思いました。年月日は8文字固定なので
left関数でなんとかなると思うのですが、時の方は0:00:00、12:12:12と7文字、8文字と
変わるときがあります。なのでright関数は使えないのですが、何かよい処理方法が
ないでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2009/03/12 10:54:44
  • 終了:2009/03/14 04:31:21

ベストアンサー

id:kn1967 No.2

kn1967回答回数2915ベストアンサー獲得回数3012009/03/12 11:35:46

ポイント35pt

Right関数に渡す値に空白を含んでいてもかまいませんので

Right(日時,8)でも問題ないはずですが

気持ち的にはMid関数のほうが良いかもしれません。

ところで・・・

日時フィールドや、新たに作る年月日および時フィールドの型は何でしょうか?

それらの組み合わせによって書き方に違いがでますけど・・・。

(1)日時フィールドからテキストとして取り出す場合

日時フィールドの型 年月日
テキスト型 Left(日時,10) Mid(日時,12)
日付/時刻型 Format(日時,"yyyy/mm/dd") Format(日時,"hh:nn:ss")

(2)日時フィールドから日付/時刻型として取り出す場合

日時フィールドの型 年月日
テキスト型 DateValue(Left(日時,10)) TimeValue(Mid(日時,12))
日付/時刻型 DateValue(Format(日時,"yyyy/mm/dd")) TimeValue(Format(日時,"hh:nn:ss"))

その他の回答(2件)

id:deep_one No.1

deep_one回答回数82ベストアンサー獲得回数62009/03/12 11:12:47

ポイント35pt

InStrで空白(スペース)を探してその次の文字からとるのがいいと思いますが、前の部分の長さが変わらないのなら計算なしでMid関数を使って部分文字列をとると良いでしょう。

http://www.geocities.jp/cbc_vbnet/function/mojireyu_function.htm...

http://msdn.microsoft.com/ja-jp/library/cc326068.aspx

id:akaired

ご回答ありがとうございます!助かりました!

2009/03/14 04:30:40
id:kn1967 No.2

kn1967回答回数2915ベストアンサー獲得回数3012009/03/12 11:35:46ここでベストアンサー

ポイント35pt

Right関数に渡す値に空白を含んでいてもかまいませんので

Right(日時,8)でも問題ないはずですが

気持ち的にはMid関数のほうが良いかもしれません。

ところで・・・

日時フィールドや、新たに作る年月日および時フィールドの型は何でしょうか?

それらの組み合わせによって書き方に違いがでますけど・・・。

(1)日時フィールドからテキストとして取り出す場合

日時フィールドの型 年月日
テキスト型 Left(日時,10) Mid(日時,12)
日付/時刻型 Format(日時,"yyyy/mm/dd") Format(日時,"hh:nn:ss")

(2)日時フィールドから日付/時刻型として取り出す場合

日時フィールドの型 年月日
テキスト型 DateValue(Left(日時,10)) TimeValue(Mid(日時,12))
日付/時刻型 DateValue(Format(日時,"yyyy/mm/dd")) TimeValue(Format(日時,"hh:nn:ss"))

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 ふるるP 192 160 21 2009-03-12 14:33:10
  • id:Mook
    コメントしたかったのですが、回答受付時には無効でしたので
    終了後で失礼します。

    すでに、日時の形でデータベースにデータが入っているのであれば、
    あえてわけない方が良いと思います。

    日付や時間の情報が必要でしたら、クエリでデータを取り出す際に
    処理すればよいのではないですか。
    時間でソートする際も、日付だけでなく同じ日でも時間順で並べたり
    時間を含めた期間でデータを取り出すなど、場合によってはそのまま
    のメリットの方が大きいがします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません