過去の桐井戸端BBS (桐ver.8)
14383 日時値を比較して表引きしたのだが、どうもうまく表引きできない NANA 2001/12/05-09:42
ご無沙汰いたしております<(_ _)>NANAです。
今回は消費税の表引きがどうしてもうまくいかなくて書き込みいたしました。

M_消費税.tblという表があります。
[適用年月日]、[消費税率]
1995/4/1 0.03
1997/4/1 0.05
2002/4/1 0.1

そして別の表Aで入力した日付とM_消費税.tblの[適用年月日]を比較して、
[消費税率]をもって来たいのです。
それが、どんな日付を入力しても、一番上のデータである、
0.03が表引きされてしまいます。

これを実現させるには、どうしたらよいのでしょうか。
手動で日時値を比較するときは、dを補ったりしますよね。
そういう事が関係しているのでしょうか?
どなたか知恵を貸してください<(_ _)>

14384 Re:日時値を表引き項目には出来ないのですか? うにん 2001/12/05-12:33
記事番号14383へのコメント
NANAさん

>そして別の表Aで入力した日付とM_消費税.tblの[適用年月日]を
>比較して、[消費税率]をもって来たいのです。
>それが、どんな日付を入力しても、一番上のデータである、
>0.03が表引きされてしまいます。

索引を正しく指定すれば問題ないはずですが。
[適用年月日]がその日から適用する税率の意味ならば、降順にに整列して、表Aで

#表引き([日付],>=, M_消費税,[適用年月日],[消費税率],索引名)

でできるはずです。
M_消費税を開いているときは、
並べ替えが違ってると変な値を引いてくるので注意。

14386 Re:日時値を表引き項目には出来ないのですか? 悲しげ 2001/12/05-12:51
記事番号14383へのコメント
どもっ、NANAさん
#表引きを使うと云うのも方法のひとつですので、以下はひとつの案としてお読み下さい。
私としては、#表引きを使うのはもっと沢山のレコードが有るような場合をイメージしてしまいます。
今回はたった3つ(?)ですから、私なら「#条件選択」関数を使います。
例えば

#条件選択([日付]>=d"2002/4/1",0.1,[日付]>=d"1997/4/1"\
     ,0.05,[日付]>=d"1995/4/1",0.03,1,0)

ps:
来年4月から消費税が10%になるんですね? (藁)
14387 Re:日時値を表引き項目には出来ないのですか? NANA 2001/12/05-13:17
記事番号14383へのコメント
うにんさん、悲しげさん、早速レスをありがとうございます。

まずうにんさんの方法ですが、
これは、一番最後に0.1が入力されていて、
降順により、0.1が一番上になりますよね。
それで、表引きされてくるのは0.1でした。
これは日付の比較がなされていないと思います。

悲しげさんの方法ですが、
私も一番最初にそれを考えました。
しかし、式に埋め込んでしまうと、最終的にプログラムで動かしたいと
考えているので、消費税が変わるたびにメンテナンスが大変になります。

そこで、変わったら、マスタに登録するだけで、
正しいデータが持ってこられるようにしたいのです。

同じような事を実現させたいと考えている人がいると思い、いろいろなホームページで探してみましたが、やはり見あたりませんでした。

よろしくお願いいたします。
14389 Re:日時値を表引き項目には出来ないのですか? うにん 2001/12/05-14:36
記事番号14387へのコメント
NANAさん

>まずうにんさんの方法ですが、
>これは、一番最後に0.1が入力されていて、
>降順により、0.1が一番上になりますよね。
>それで、表引きされてくるのは0.1でした。
>これは日付の比較がなされていないと思います。

並べ替えて開いている状態でも先頭しか持ってこないというのは変ですね。
こっちではちゃんとできています。

#表引き([日付],>=, M_消費税,[適用年月日],[消費税率],索引名)

と書きましたが、

#表引き([日付],>=, M_消費税,[適用年月日],[消費税率],索引名,1)

の方がいいみたいです。「全体」と書いてあるので単に絞込み状態の話かと思いましたが、
そうでなくて開いている表と無関係に索引有効な状態で表引きしてくれるパラメータのようです。

14392 Re:日時値を表引き項目には出来ないのですか? NANA 2001/12/05-16:12
記事番号14389へのコメント
大変な勘違いをしていました。
並べ替えの条件を設定して、
それで索引を定義したつもりでいました。
ちゃんと動きました(^_^)v

本当にありがとうございました<(_ _)>
これが出来れば、いろんな事が
もう少し楽に展開出来るような気がします。

これからも頑張りますのでよろしくお願いいたします。

14394 Re:日時値を表引き項目には出来ないのですか? うにん 2001/12/05-17:08
記事番号14392へのコメント
NANAさん

>大変な勘違いをしていました。
>並べ替えの条件を設定して、
>それで索引を定義したつもりでいました。

なんと!#表引きに指定した名前の索引が存在しなくてもエラーにならないのですねえ。なるほど。

戻る