掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Date型の変数に値を代入するには (ID:141380)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
うぅむ……。 Dim 宣言 の仕方といい、Select Case の使い方といい、 推奨されない VB コードのオンパレードに見えますが、 今回は、細かいことには目を瞑るとして: > ストアドプロシージャを走らせて で、ストアドの方は問題なかったのでしょうか。 # たとえば、そのストアドを呼ぶ前に、どこかの作業テーブルに # 特定のデータを入れておかねばならない仕様になっていた、とか。 > datTime = .Fields("HIDUKE") 値を得る場合には、 datTime = .Collect("HIDUKE") もしくは datTime = .Fields("HIDUKE").Value のように記述する必要があります。対 Oracle の場合は特に。 また、HIDUKE が NULL を返す可能性がある場合には、VB 側の変数は As Date ではなく、As Variant にせねばならない事に注意してください。 その上で、IsNull 関数を使って値チェックをする必要があります。 > ここで初期値になってしまう為に 「初期値」とは、CDate(Empty) と同じ値という事でしょうか? であれば、 datTime = .Fields("HIDUKE").Value という部分を、 datTime = #12/23/1234 12:34:56 PM# datTime = .Fields("HIDUKE").Value のように、事前にダミーの値を入れておいて見てください。 ダミー値代入後に HIDUKE を受け取っても、変数がダミー値のままであるならば、 代入操作そのものが失敗していることになります。この場合には 「On Error」でエラーを握りつぶしていないかをチェックしてみてください。 あるいは、HIDUKE を受け取ると CDate(Empty) になってしまうのであれば、 HIDUKE そのものがそういう値を返してきているのだと思います。 > エラーとして返してしまうので そのエラーとは VB が返すエラーですか? Oracle が返すエラーですか? それとも、アプリ自身が表示させているエラーですか? VB/OS/Oracle が返すエラーなら、その内容を転記してください。 自身で発生させているエラーなら、その判定条件自体に誤りが無いかを 確認してみてください。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.