人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: akaired
●カテゴリ:コンピュータ
✍キーワード:00 VBA アクセス フィールド 関数
○ 状態 :終了
└ 回答数 : 2/3件

▽最新の回答へ

1 ● deep_one
●35ポイント

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

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

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

◎質問者からの返答

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


2 ● kn1967
●35ポイント ベストアンサー

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"))
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ