過去の桐井戸端BBS (桐ver.9)
30663 #連結でデータに文字を挿入したらデータがないときも挿入されてしまう ちびねこ 2005/08/03-16:59
また教えてください
日付データが 20050803のようになっていて 結合表の項目計算式で
#連結(#部分列([配送予定時期],1,4),"/",#部分列([配送予定時期],5,2),"/",#部分列([配送予定時期],7,2))
のように設定しました。

この場合、日付データがない場合も // が入ってしまうので
データがない場合は/を入れないようにするには どうしたらいいのでしょうか?

30667 データがない場合は編集を変えたい 宮城 2005/08/03-18:27
記事番号30663へのコメント
「#条件選択」関数を使います。

#条件選択(A,B,1,C)

Aが成り立つときB(数セット繰り返してよい)、・・・、以上で
該当しないときC。

A:データがあるという式
B:(連結式)

とすれば、Cにたとえば「""」でも入れとけば、データがなかったときは
「""」のままって寸法。(ちなみにかぎ括弧つきで表記しないでくださいね。)

ところで、元の日付データは文字列なんでしょうね? 
それでもって、連結して作るのはやはり文字列なんですか? 日時値にしたいところですけど・・・。

30675 Re:データがない場合は編集を変えたい うにん 2005/08/04-00:30
記事番号30667へのコメント

>とすれば、Cにたとえば「""」でも入れとけば、データがなかった
>ときは「""」のままって寸法。(ちなみにかぎ括弧つきで表記しな
>いでくださいね。)

一致する条件が無ければ未定義値になるので、最後の「1,""」は省略可能です。


30678 Re:データがない場合は編集を変えたい ちびねこ 2005/08/04-09:17
記事番号30675へのコメント
>#条件選択(A,B,1,C)
>
>Aが成り立つときB(数セット繰り返してよい)、・・・、以上で
>該当しないときC。
>
>A:データがあるという式
>B:(連結式)

ということでしたが
#条件選択(#定義[配送時期],(#連結(#部分列([配送時期],1,4),"/",#部分列([配送時期],5,2),"/",#部分列([配送時期],7,2)))

でやろうとしたらできませんでした。
条件選択の関数を使用するときは 真か偽の値を返す 関数を使用しないとだめですよね?
データの有無を判断するのはどうしたらいいでしょうか?
データがNULLかどうかを判断する関数というのはありますか?
30679 Re:データがない場合は編集を変えたい うにん 2005/08/04-12:17
記事番号30678へのコメント

>データの有無を判断するのはどうしたらいいでしょうか?

0と""以外は真なので、数値型でなければ条件に[項目名]とだけ書けば
「データがあれば」という意味になります。

>データがNULLかどうかを判断する関数というのはありますか?

#定義は比較式にしか使えないので#未定義または""を使います。

30680 データの中からある月を検索したい ちびねこ 2005/08/04-12:53
記事番号30678へのコメント
データから ある月のものだけを抽出したい場合
(たとえば 8月配送予定のものとか)

フォームなどで作成した 検索欄に "2005/08"と入力して
TBLの 配送年月日欄に日付が投入されている場合、該当するレコードすべてを抽出するのは
どうやったらいいでしょうか?

検索用の検索.TBLのようなのを作成して それをデータファイルと照合させて
結合表で抽出結果を表示するような形でしょうか....

みなさんに いろいろ教えていただいて なんとか使いやすくなってきました
もう少しで完成しそうなので 何度もすみませんがよろしくお願いしますm(._.)m ペコッ

30682 Re:データがない場合は編集を変えたい コージ 2005/08/04-13:56
記事番号30678へのコメント
>#条件選択(#定義[配送時期],(#連結(#部分列([配送時期],1,4),"/",#部分列([配送時
>期],5,2),"/",#部分列([配送時期],7,2)))

(1)#条件選択([配送時期]≠#未定義,(#連結(#部分列([配送時期],1,4),〜
又は
(2)#条件選択([配送時期]≧1,(#連結(#部分列([配送時期],1,4),〜

[配送時期]のデータ型と未定義項目値処理によって定義の仕方を考える必要があるようです。
例えばデータ型が数値で未定義項目値処理がゼロの場合に
(1)の≠#未定義ではなく(2)の≧1を使う必要があると思います。

なお、未定義の場合は
#条件選択([配送時期]=#未定義
とすればよいと思います。

自己流なので識者のご意見を伺えたらよいですね。
30734 Re:文字の挿入について V30 2005/08/07-08:24
記事番号30663へのコメント
ちびねこさん
>また教えてください
>日付データが 20050803のようになっていて 結合表の項目計算式で
>#連結(#部分列([配送予定時期],1,4),"/",#部分列([配送予定時
>期],5,2),"/",#部分列([配送予定時期],7,2))
>のように設定しました。
>
>この場合、日付データがない場合も // が入ってしまうので
>データがない場合は/を入れないようにするには どうしたらいいのでしょう
>か?

やり方は2通り
日付データがどうなってるかわかりません。
この項目を[日付データ]という項目で仮定して書きます。

1.未定義になっている場合
#条件選択([日付データ]≠未定義,#連結(#部分列([配送予定時期],1,4),"/",#部分列([配送予定時期],5,2),"/",#部分列([配送予定時期],7,2),1,#未定義)

2.00000000になっている場合
#条件選択([日付データ]≠"00000000",#連結(#部分列([配送予定時],1,4),"/",#部分列([配送予定時期],5,2),"/",#部分列([配送予定時期],7,2),1,#未定義)

3.簡単な方法(笑)
//を後から取る(笑)
#文字置換(#連結(#部分列([配送予定時期],1,4),"/",#部分列([配送予定時期],5,2),"/",#部分列([配送予定時期],7,2),1,#未定義),"//","")

30735 Re:文字の挿入について V30 2005/08/07-08:26
記事番号30734へのコメント
>3.簡単な方法(笑)
>//を後から取る(笑)
>#文字置換(#連結(#部分列([配送予定時期],1,4),"/",#部分列([配送予定時
>期],5,2),"/",#部分列([配送予定時期],7,2),1,#未定義),"//","")

計算式を間違えた(^^ゞ

#文字置換(#連結(#部分列([配送予定時期],1,4),"/",#部分列([配送予定時期],5,2),"/",#部分列([配送予定時期],7,2),"//",""),1,#未定義)を取り忘れてた(^^ゞ

30799 文字の挿入できました ちびねこ 2005/08/08-15:52
記事番号30663へのコメント

最初は
#条件選択(#IS半角([配送時期],1),#連結(#部分列([配送時期],1,4),"/",#部分列([配送時期],5,2),"/",#部分列([配送時期],7,2)) )

と考えていたのですが

#条件選択([配送時期]≠#未定義,#連結(#部分列([配送時期],1,4),"/",#部分列([配送時期],5,2),"/",#部分列([配送時期],7,2)) )

で できました^^

ありがとうございました


戻る