Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
こんにちは いつもお世話になっています。
時刻表示が正しくできない場合がある現象について、ご存知の方がおられましたらご教示ください。
DBの中にデータタイプとデータ値(float型)が収納されています。
Loadスクリプトでデータを取り込む際に、Vbscriptで作成したモジュールを通して、データタイプに従って
データ値を整数・実数・時刻(hh:mm形式)に変換して取り込んでいます。
取り込んだデータをストレートテーブルで数値書式を「数値設定値」として表示させると、時刻データが
hh:mmではなく実数で表示される場合があります。
例えばモジュールによって「20:48」と変換されたはずのデータが「0.8667」と表示される場合があります。
「20:48」を実数に変換すると「0.8667」になるので、モジュールで変換した値をQVが収納する際に、実数
に変換しているようにも見えるのですが、データ量が多くてプレビューで確認することが出来ません。
CSV等で少量のデータを作成してやってみると全て正しく「hh:mm」変換されています。
理由がわからずに困っています。どなたかアドバイスをいただけないでしょうか
こんにちは
返信を頂く前ですが、理由がわかりましたので情報共有の為記載しておきます。
QVは取り込みにおいて既に同じデータが読み込まれていた場合、自動的に最初に読み込まれた値に置き換える仕様
になっているようです。
例えば「001」「0001」「01」の順でデータを取り込んだ場合「0001」と「01」は自動的に「001」に変換して取り込みます。
時刻形式のデータの場合、例えば「12:15」は実数で表記すると「0.84735」となるため、「12:15」データを取り込む前に
「0.84735」データを取り込んでいると「12:15」を「0.84735」に変換して取り込む可能性があるよううです。
今回の場合、取り込んだデータをデータタイプによって実数データや時刻データに変換していますが、先に取り込んだデータを
モジュールの中で0.84735に実数変換して収納し、その後での処理で取り込んだデータを12:15の時刻変換して、収納しようと
すると、QVは同じ数値と判断して12:15を0.84735にして収納することがあるようです。
(意図的にこのようなデータを作成したら再現しました。)
元々、同じ項目に実数と時刻(文字列)の両方を収納しようとしたプログラミングの問題でした。
ありがとうございました。
こんにちは
返信を頂く前ですが、理由がわかりましたので情報共有の為記載しておきます。
QVは取り込みにおいて既に同じデータが読み込まれていた場合、自動的に最初に読み込まれた値に置き換える仕様
になっているようです。
例えば「001」「0001」「01」の順でデータを取り込んだ場合「0001」と「01」は自動的に「001」に変換して取り込みます。
時刻形式のデータの場合、例えば「12:15」は実数で表記すると「0.84735」となるため、「12:15」データを取り込む前に
「0.84735」データを取り込んでいると「12:15」を「0.84735」に変換して取り込む可能性があるよううです。
今回の場合、取り込んだデータをデータタイプによって実数データや時刻データに変換していますが、先に取り込んだデータを
モジュールの中で0.84735に実数変換して収納し、その後での処理で取り込んだデータを12:15の時刻変換して、収納しようと
すると、QVは同じ数値と判断して12:15を0.84735にして収納することがあるようです。
(意図的にこのようなデータを作成したら再現しました。)
元々、同じ項目に実数と時刻(文字列)の両方を収納しようとしたプログラミングの問題でした。
ありがとうございました。
私も、利用開始時に全く同じ問題が発生しました。
それ以降は、取込時の構文に書式指定する癖をつけています。
また、回答内に記載のあった下記2点に関して、対処方法はあるのでご参考までに。
①「001」「0001」「01」の順でデータを取り込んだ場合「0001」と「01」は自動的に「001」に変換して取り込みます。
→Text関数で、文字列として取り込めば、「001」「0001」「01」のまま、別々の情報として保持されます。
②先に取り込んだデータをモジュールの中で0.84735に実数変換して収納し、その後での処理で取り込んだデータを
12:15の時刻変換して、収納しようとすると...................
→その後の処理の際に、項目名を変更すると書式変換可能です
その他の方法としては、「設定」→「ドキュメントプロパティ」→「数値書式」で取込済みの該当項目の書式を指定する
事も可能です。
Mr wakamatsu
ご回答をありがとうございました。
理由がわかればなるほど納得なので、対処方法もいろいろ考えられますね。
勉強になりました。