- ベストアンサー
VBでDate型の大小比較がうまく動作しないのですが
nenonenoです。こんにちわ Windows98,VB6SP5の環境でDate型の変数dtmNext,dtmToを比較しようとしたのですが、同じはずなのに片方が大きいと判定していまいます。 datediffでしらべると0:00:00と返すので、同じだと思うのですが... 使い方が悪いのであれば、どこか指摘していただけるとありがたいです。 よろしくお願いします。m(_ _)m Dim dtmNext, dtmTo, dtmTmp As Date この間にもコードがあります Debug.Print "dtmNext:"; dtmNext; "dtmTo:"; dtmTo If dtmNext = dtmTo Then Debug.Print "Pass2 =" If dtmNext > dtmTo Then Debug.Print "Pass2 >" If dtmNext < dtmTo Then Debug.Print "Pass2 <" dtmTmp = DateDiff("n", dtmNext, dtmTo) Debug.Print "dtmTmp:"; dtmTmp ↓---------------------------イミディエイトウインドウの表示 dtmNext:03/02/17 15:00:00 dtmTo:03/02/17 15:00:00 Pass2 > dtmTmp:0:00:00
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#4564
回答No.2
その他の回答 (1)
- aptiva
- ベストアンサー率36% (193/529)
回答No.1
お礼
そうですね。浮動小数点演算という事をすっかり忘れていました。 こちらでもテストしてみましたが、おっしゃる通りの現象となりました。 一度計算したDeta型は茣蓙が含まれていると思うべきですね。 datediff関数を使って比較するか、関数を作るかしようと思います。 テストまでして頂いて、ありがとうございました。感謝します。