過去の桐井戸端BBS (桐ver.8)
3330 「日付」の表示形式による検索や絞込みについて ぐんぐん 1999/11/16-09:59
 「日付」の表示形式(11/1と入力したら自動的に平成11年11月1日と表示される)
に設定してあるデータの検索や絞込みについて、「同一値」や「比較式」で検索(絞込
み)したい項目を入力して実行しても「一致するデータはありません」と表示されてし
まいますが、どうしてでしょうか。
 検索値の入力の仕方(平成○年○月○日と入力しています)が違うのでしょうか。
 何か特殊な手順が必要なのでしょうか。教えてください。

3335 Re:「日付」の表示形式による検索や絞込みについて 宮城 1999/11/16-11:22
記事番号3330へのコメント
ぐんぐんさん、こんにちは。やってみましたが・・・。

同一値、問題なくできます。
比較式、どう入力されたのでしょうか。d"平成11年11月01日"で問題なくできます。
西暦でも1日のゼロなしでもできます。

dが抜けてるか""が抜けてるなら、「比較できないデータ型の組合せがあります」と
いうメッセージになり、「一致するデータはありません」とはちょっと違うので、
首をひねっております。

3342 Re:「日付」の表示形式による検索や絞込みについて 佐田 守弘 1999/11/16-13:08
記事番号3330へのコメント
ぐんぐんさん

始めに確認させて頂きます。この[日付]の項目は、日時型のデータでしょうか。それとも文字列型でしょうか。
質問の内容から日時型でないかと考えて話を進めます。

●日時型とは
始めに日時型のデータについて説明しておきます。
日時型とは、時間軸上のある一時点を西暦年号で1000分の1秒単位で表すデータです。つまり、年、月、日だけでなく、
時、分、秒と、秒の小数以下の値を持っております。
そして、表記のしかたで年月日だけを表示したり、元号年で表示することも可能です。また、試した事がないのですが、
11/1と入力して元号として解釈させることも可能な様ですね。
しかしながらこれは表示だけの問題であり、日時値そのものは西暦年号値です。

●日時値での比較(その1)
比較値として記述する時には、日時値を与える必要があります。単に日付表記の文字列を与えたのでは、文字列型と
みなされますから、日時型との比較ができません。次の様に、「#日時値」関数を使って、比較値を与えて下さい。
 #日時値("平成11年11月1日")
 #日時値("H11-11-1")
 #日時値("1999-11-1")

●日時値での比較(その2)
質問の主旨ではないのですが、参考までに述べておきます。
日時値で日付を絞り込む場合に陥る落とし穴があります。日時値型のデータ項目に、項目初期値として「#日時値」が
設定してあると、その行を入力した日付時刻の日時値が入力されます。
ここで、表示上は"1999/11/1"になっていても、時刻部分の値があって本当は"1999/11/1 15:28:24"であったりします。
この時に比較値に時刻部分を省略した"1999/11/1"を与えると、"1999/11/1 0:00:00:"との比較になり、一致しない
結果になります。
日時型に項目初期値を与えるときには、
 #日時日付(#日時値)
で与えて下さい。

佐田守弘(KS-00119)

3360 Re:「日付」の表示形式による検索や絞込みについて ぐんぐん 1999/11/17-12:12
記事番号3335へのコメント
 宮城さんありがとうございました。比較式の入力方法がどうも間違っていたようです。(恥ずかしながら””で
くくるというのを知りませんでした。)
 大変助かりました。

3361 Re:「日付」の表示形式による検索や絞込みについて ぐんぐん 1999/11/17-12:22
記事番号3342へのコメント
 佐田さん。ありがとうございました。結局日時値のデータ型を意識して処理を行う必要があるということですね。
 大変勉強になりました。ちょっといろいろやってみます。
  それにしても、このフォーラムはとても助かります。
特に今桐Ver8の参考図書がないようですが、これからもずっと桐と付き合っていくつもりでおりますので、
今後ともどうぞよろしくお願いします。

戻る