システム日付の変更について

解決


SHIN  2003-04-03 18:42:54  No: 106525

テキストボックスに入力した文字によりシステムの日付を変更する方法を教えて下さい。
  Date  =  ”2001/01/01”
でシステムへ日付を設定するのは分かるのですが、年の4桁のみテキストボックスより取得する場合、””の中は、どのように書けば良いのでしょうか?
""の中が、〜型なのかが分かりません。
宜しくお願い致します。


Loreley  2003-04-03 18:58:29  No: 106526

一発では無理なので、
1.システム日付の取得
2.テキストボックスの読み取り
3.テキストボックス(年のみ)とシステム日付(月日)の合成
4.システム日付の設定

と順番に片付けていきましょう。
型はStringでできます。


SHIN  2003-04-03 21:07:09  No: 106527

Loreleyさん有難う御座いました。
1,2,4に関しては、OKです。
3に関してですが
  
Today = "年" & "/" & "月" & "/" & "日"


SHIN  2003-04-03 21:18:36  No: 106528

間違えて送信をしてしましました。
1,2に関しては、OKです。3,4は以下の様にしたいのですが、
  Dim month_buf As Date
  Dim date_buf As Date
  Dim Today As String

  month_buf = Format(Now, "mm")   'システム日付取得
  date_buf = Format(Now, "dd")

  Today = "テキストボックス入力" & "/" & "月" & "/" & "日"

  Date = Today

  Todayへの合成ですが、どのようにすればよいか御教示願います。


ぢゃわ  2003-04-03 23:36:56  No: 106529

上記ロジックでほとんどできているようですが、あと一息。

日付の月・日の部分(例えば4/3なら”4”と”3”)を
格納する変数はDate型ではなく文字列型でいいとおもいます。

で、

Dim month_buf As String
Dim date_buf As String
Dim Today As String

month_buf = Format(Now, "mm")   'システム日付取得
date_buf = Format(Now, "dd")

Today = "テキストボックス入力" & "/" & month_buf & "/" & date_buf
Date = Today

というかんじになればできると思いますよ。

あとは年入力のテキストがちゃんとした値でなければDate文でエラー
がでるはずなので、そのチェックは必要だと思います。


SHIN  2003-04-03 23:51:01  No: 106530

有難う御座いました。日付取得は文字列でも出来たんですね!


ぢゃわ  2003-04-04 03:24:52  No: 106531

解決済みですが、ちょっと補足です。

>日付取得は文字列でも出来たんですね!
日付取得が文字列型でもできるというよりは、月および日の値
(4/3なら"04"と"03")はformat関数で"04"、"03"という形に
抜き出した時点で既に日付型としての意味合いはなく、Variant型の
文字列"04"と"03"になっているということです。

これをDate型に格納することもできますが、元の4月や3日という
意味ではなく、1899/12/31(?)から4ないし3日後の日が返されて
しまいますのでご注意を。


SHIN  2003-04-04 09:56:12  No: 106532

なるほど、そーいうことなんですね。今まで日付型で取得できてたので、勘違いをしていました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加