過去の桐井戸端BBS (桐ver.7) |
2508 | 日時型項目の表編集作業 | グリーン | 1999/8/25-22:51 |
桐7を使っていますが、表編集で日時型の項目の絞込みをするとき 例えば、1999年8月のレコードだけを絞り込む場合 絞込み―比較式で 1回目>#年([項目名])=1999 2回目>#月([項目名])=8 としなければ絞り込むことが出来ません。 比較式を使い1回で絞込みをする方法はないでしょうか。 文字列型の項目なら先頭一致で1回で絞り込み出来るのですが、日時型では出来な いのでしょうか。 また、日時型項目を置換するときも、計算式に 1999/8/25 などといれても ”式の結果が変換または代入できないデータ型です”のエラーが出ます。 日時型項目の置換で直接計算式に入力して置換することは出来ないのでしょうか。 日時型項目は、入力の際、年月日までを入れなくても25と入れれば今月なら 1999/8/25と判断してくれ大変便利だと感じていますが、絞込みや置換で 使いづらいところがあり、文字列型項目に戻そうか迷っているところです。 | |||
2512 | Re: | KAZE | 1999/8/26-09:01 |
記事番号2508へのコメント >文字列型の項目なら先頭一致で1回で絞り込み出来るのですが、日時型では出来な >いのでしょうか。 こういう比較式ではだめですか? #部分列(#日時文字列( [],9, 1,2 ),1,7)="1999/08" 月の入力データが1桁の場合、0で埋めるので右式の月の部分は2桁で指定する ことになりますけど。 私も、無い知恵を絞ったつもりですが、スマートな方法が有ったら、 どなたか教えて下さい。 では! | |||
2513 | Re: | tuji | 1999/8/26-11:05 |
記事番号2508へのコメント >文字列型の項目なら先頭一致で1回で絞り込み出来るのですが、日時型では出来な >いのでしょうか。 #年([項目名])=1999,#月([項目名])=8 というように間にカンマをいれれば1回で出来ると思います >また、日時型項目を置換するときも、計算式に >1999/8/25 などといれても >”式の結果が変換または代入できないデータ型です”のエラーが出ます。 >日時型項目の置換で直接計算式に入力して置換することは出来ないのでしょうか。 d”1999/8/25” というように頭にdをいれれば置換出来ると思います。 | |||
2520 | Re: | グリーン | 1999/8/26-23:14 |
記事番号2513へのコメント 日時型に対する絞込みと置換の両方を教えていただきありがとうございました。 特に置換で頭にdをいれればよいというのは大変勉強になりました。 絞込みについては、カンマを入れれば1回で出来ますが、私が期待していたのは、 出来るだけキーボードからの入力が省けるような方法でした。 しかしながら、間にカンマを入れて複数の条件を指定できる方法は使ったことがなく 今後、活用させていただきたいと思います。 日時型項目についてもう少し申し上げさせていただきますと 文字列型と同様に、 1999/8を受け付けてくれれば非常に入力の手間が減ると思うのですが、 日時型項目についてこのような考え方はおかしなものでしょうか。 | |||
2521 | Re: | maruhashi | 1999/8/27-10:09 |
記事番号2520へのコメント グリーンさんへ >日時型項目についてもう少し申し上げさせていただきますと >文字列型と同様に、 >1999/8を受け付けてくれれば非常に入力の手間が減ると思うのですが、 >日時型項目についてこのような考え方はおかしなものでしょうか。 おかしくないと思います。 プログラムの内部処理がどうなっているのかは、知りませんが、 会話処理を使う立場から言えば、どうしてこのような検索を受け付けない 仕様になっているのか、理解に苦しみます。 Win桐に、日時型のデータができた時に、データ型を変更して行ったのですが、 時期の限定が簡単にできないのがわかり、 結局、全部文字列に戻して使っています。 桐V9での改善を期待してますが・・・ | |||
2540 | Re: | ぼた | 1999/8/29-19:49 |
記事番号2521へのコメント 自分が数時間ハマっていたことが同じように議論されているのを見つけると、 「あぁ、やっぱり掲示板はなにがなくても読んでいないとなぁ」と思いました。 例えば日時型の項目に西暦を含む"xx/xx/xx"もしくは"xxxx/xx/xx"の状態で 日付が入っているとして、「1999/8」を抽出したい場合、絞り込みの比較式で [].月=d"1999/8" と打てばOKです。ちなみに[].月=d"1999/8/29"と打っても、1999/8分が 抽出されます。ちなみにこの変則的なくくり方は、 [].四半期= [].半期= [].月= [].年= などがあるそうです。四半期、半期については年度をどこで区切るかを環境設定 で登録できたはず。やったことはないですが、=の右辺には変数も使えることと 思います。桐7のマニュアルでは表編集5章のp302「検索と絞り込み」に 載っています。 自分は日付を抽出するときに、ただ"1999/8/31"ではだめで、あたまにdを つけなければいけないことをつい最近まで知らず(数時間前まで)、そのために 大ハマリしてました(4時間?)。というのも今まで年数は文字列で管理して いたのですが、いわゆるY2K対応のためにテーブルを作り直すついでに桐5時代の ものを桐8に変更しています。で、せっかく桐8なんだから、ということで 一括を減らしてイベントハンドラへ移行しつつあるんですが、そのなかで 日付の抽出ができず苦労していました。その時に、ずっと「絞り込み出来ない のはイベントハンドラを理解していないからだろう」と思いこんでましたが 要はdが頭に必要だってことで納得しました。 | |||
2541 | Re: | ぼた | 1999/8/29-19:53 |
記事番号2540へのコメント >[].月= フォントの都合でくっついてしまって見えないとまずいので、書き直します。 [ ] . 月 = d " 1 9 9 9 / 8 " ※すべての文字の間に表示のため半角SPが入っています。本当はいりません。 |