■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
|
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った): |
■ ページの共有: |
[ サイト内検索 ]
![]()
カスタム検索
|
#45100-0数値変数からDATE型の変換方法モモ2001-07-18(水) 02:33
#45101-0RE#45100:数値変数からDATE型の変換方法匿名451012001-07-18(水) 03:39
#45102-0RE#45101:数値変数からDATE型の変換方法あき☆彡2001-07-18(水) 05:18
#45103-0RE#45100:数値変数からDATE型の変換方法匿名451032001-07-18(水) 09:30
#45112-0RE#45100:数値変数からDATE型の変換方法モモ2001-07-18(水) 12:29
#45101-0RE#45100:数値変数からDATE型の変換方法匿名451012001-07-18(水) 03:39
#45102-0RE#45101:数値変数からDATE型の変換方法あき☆彡2001-07-18(水) 05:18
#45103-0RE#45100:数値変数からDATE型の変換方法匿名451032001-07-18(水) 09:30
#45112-0RE#45100:数値変数からDATE型の変換方法モモ2001-07-18(水) 12:29
モモ2001-07-18(水) 02:33
素人の質問ですみません。。。 実は、今、画面で年月日を入力したら、 その年月日を元に、曜日を取得しようと試みています。 WEEKDAY関数を使うまでは見つけたんですが、 引数がDATE型で渡すとなっていました。 画面で入力した内容は数値なので、 数値→DATE型に変換しようと試みてはや5時間・・・ 精も根もつきはててしまいました・・・ こんな素人に、ぜひ、愛の手をさしのべて頂けないでしょうか・・・
匿名451012001-07-18(水) 03:39
> 素人の質問ですみません。。。 > 実は、今、画面で年月日を入力したら、 > その年月日を元に、曜日を取得しようと試みています。 > WEEKDAY関数を使うまでは見つけたんですが、 > 引数がDATE型で渡すとなっていました。 > 画面で入力した内容は数値なので、 > 数値→DATE型に変換しようと試みてはや5時間・・・ > 精も根もつきはててしまいました・・・ > こんな素人に、ぜひ、愛の手をさしのべて頂けないでしょうか・・・ 5時間はスゴイ・・・・ ではでは、そのがんばりにお答えしましょう。 まず、Date型に変換する命令は「 CDate 」です。 但し、変換元の値が数値(日付なので当然Long値でしょう→20010717みたいに)なので そのまま変換するとオーバーフロー起こします。また、画面からの入力となれば 元々、文字型(String型)のはずなのでこれをこのまま使いましょう。 例: Dim Hizuke As String '文字型 Dim Hiz As Date '日付型 'Text1ボックスに日付が入力されたとして Hizuke = Trim$(Text1.Text) If IsDate(Hizuke) Then '日付チェック Hiz = CDate(Hizuke) '日付型に変換 Else MsgBox "指定された日付が不正です!!" EndIf で宜しいかと思いますよ。(未確認ですが)
あき☆彡2001-07-18(水) 05:18
> > 実は、今、画面で年月日を入力したら、 > > その年月日を元に、曜日を取得しようと試みています。 > > WEEKDAY関数を使うまでは見つけたんですが、 > > 引数がDATE型で渡すとなっていました。 > > 画面で入力した内容は数値なので、 > > 数値→DATE型に変換しようと試みてはや5時間・・・ > > 精も根もつきはててしまいました・・・ > > こんな素人に、ぜひ、愛の手をさしのべて頂けないでしょうか・・・ ”画面で入力した内容は数値”と書かれてあるので、 きっと"20010513"などの数字を入力し、その曜日を求めたいのですよね? (数値と書かれてあると画面から入力された値を 数値型に1度変換してるのかな?と思ってしまいます。) > 例: > 'Text1ボックスに日付が入力されたとして > Hizuke = Trim$(Text1.Text) > > If IsDate(Hizuke) Then '日付チェック 画面から入力された値が"2001/05/13"なら良いのですが、 "20010513"と入力した場合、Falseになってしまいます。(×_×;) "20010513"を"2001/05/13"や"2001-05-13"などの 日付と認識できる形に編集する必要があります。 Weekdayは曜日を表す整数が求まるので、 曜日によって処理をわける場合はWeekdayで良いと思いますが、 もし画面上などに曜日を表示するだけならFormat$でも良いと思います。 表示書式指定文字 ddd :英語省略形 (Sun 〜 Sat)。 aaa :日本語省略形 (日〜土)。 dddd:英語 (Sunday 〜 Saturday)。 aaaa:日本語 (日曜日〜土曜日)。 【例】 Private Sub Command1_Click() Dim s_Wk As String If Len(Text1.Text) = 8 Then s_Wk = Format$(Text1.Text, "####/##/##") Else s_Wk = Text1.Text End If If Not IsDate(s_Wk) Then Call MsgBox("( ̄□ ̄;)!!", vbExclamation) Exit Sub End If Call MsgBox(Format$(CDate(s_Wk), "aaaa"), vbInformation) End Sub それでは、頑張ってください。
匿名451032001-07-18(水) 09:30
> 数値→DATE型に変換しようと試みてはや5時間・・・ > 精も根もつきはててしまいました・・・ > こんな素人に、ぜひ、愛の手をさしのべて頂けないでしょうか・・・ 5時間ですか・・・。お疲れ様です。 私も開発の際、日付をLong型とDate型の両方を使用している事ってよくあります。 Logn型だと8桁ですね。(20010718) 仕様によって 4桁とか6桁とかあると思いますけど・・・・。 別の方も書いておられるますが、Date型に変更するには CDate関数をつかいます。 が、CDate関数の引数にするにはLong型の日付を String型で "2001/07/18" のようにしないといけません。 で、私が言いたいのはこの変換はこれから何度も利用する事になると思います。当然、別の開発の時に。 ですので、Long型の日付をString型に変換する関数を作成してると再利用できるので便利ですよ。 5時間やった事は無駄にならないと思います。がんばってください。
モモ2001-07-18(水) 12:29
あきさん、そして、匿名の皆様方、 早速のご返事、感謝感激です!! さっそくやってみます!! この掲示板の皆様って、 本当に優しくて、すばらしい技術を持った人が多いですねっ。 これからも質問させて頂くかもしれませんが、 よろしくお願い致します。 本当にありがとうございました!!!
このページと関連する記事:
#17082-0Format関数について2001-07-31(火) 18:54#11203-0Format関数について2000-09-07(木) 18:28
#14633-0カレンダーを自分で作るには?2001-02-21(水) 12:52
#8642-0日付関数での変数2000-06-07(水) 13:03
#55-3フォーマット関数について教えてください2003-11-05(水) 20:41
#10660-0Date(時間)のインクリメント2000-05-17(水) 14:04
#18812-0グリニッジ標準時を Format 関数で表示形式を整える2000-03-29(水) 21:30
#6813-0時間の計算。2000-03-21(火) 17:31
#27408-0週を表示する方法2002-03-08(金) 16:22
#11399-1時間の計算2000-06-08(木) 15:14