過去の桐井戸端BBS (桐ver.9)
25142 表定義で関数を使った式を設定したのですが「関数の引数のデータ型が不正です」というエラーが出る 脱初級! 2004/02/26-21:09
こんにちわ。
ここで教えて頂いた知識を基に、下記の計算式を表定義の項目(属性:文字列)に設定したのですが、
エラーKD1623(関数の引数のデータ型が不正です)と出て、定義できません。
何がダメなのでしょうか?
ちなみに、項目:[削除管理]は、数値項目で、他の項目[コードA]、[コードB]は文字属性です。

以下がその式です。

#計算(#代入(&STR,""),#条件選択(#文字列([削除管理])="1",#代入(&STR,#文字置換(&STR,1,"1")),1,#代入(&STR,#文字置換(&STR,1,"0"))),#文字置換([コードA],2,4)+[コードB]+#対応文字列(&STR,1))

ご教授、よろしくお願い申し上げます。


25146 Re:表定義中の関数の記述方法 宮城 2004/02/26-21:15
記事番号25142へのコメント
脱初級!さん、こんにちは。まずここなんかどうですか?

#文字置換(&STR,1,"1")

文字を扱う関数に「1」をナマで示しちゃあだめでしょう。

25148 Re:表定義中の関数の記述方法 宮城 2004/02/26-21:20
記事番号25146へのコメント
失礼しました。こんな記述もできるのですね。もうちょっと考えます。

25149 Re:表定義中の関数の記述方法 宮城 2004/02/26-21:31
記事番号25142へのコメント
(大急ぎで付け焼刃して)

> 半角コンマで区切られた部分文字列の並び str1 の n 番目の部分文字列を、
> 文字列 str2 に置き換えます。(by 桐help)

ところが、&STRが半角カンマを含んでいないものだから、ナマの数字を見せられても困るとお怒りになったとか。

ちなみに #文字置換( str1 , str2 , str3 )は str1 に含まれる str2 を
str3 に置き換える関数です。

25152 Re:表定義中の関数の記述方法 今村 誠 2004/02/26-21:54
記事番号25142へのコメント
脱初級さんこんにちは、

#s([コードA],2,"4")+
[コードB]+
#cond([削除管理]=1,"1",1,"0")

コードAがコンマ区切りであれば2番の文字を"4"に変更する。
そのコンマ区切りの文字に[コードB]の文字列を連結する。
[削除管理]が1の場合"1"を連結する。
そうでない場合"0"を連結する。

無理に#計算や変数(&STR)を使う必要はないです。
今後のために説明しておきます。
#計算(#代入(&STR,"なんとか"),
#代入(&秒,100),
"結果")
等とした場合各変数に値が代入されますが、
この式を実行した答えは"結果"という文字列です。
最期のコンマの後の部分だけが重要だと思っても
間違いではないです。
#S(#文字置換(普通はコンマ区切りの文字が入るところ,
変換したい番地或いは、変換したい文字,
変換する文字)
例えば #S("明治,大正,昭和,平成",1,"西暦")
とすれば答えは"西暦,大正,昭和,平成"

#S("今日は晴れ","晴れ","曇り")
答えは"今日は曇り"

関数はヘルプをよくお読みになられた方がいいと思います。
25184 何度もありがとうございます。 脱初級! 2004/02/29-16:29
記事番号25152へのコメント

今村様、またまた教えて頂き、ありがとうございます。
ヘルプ、すべて印刷して読んだのですが、今ひとつ理解していないようです。(^^;;

桐の関数については、ヘルプにちょっとだけ例が記載して
あるばっかりで、初級にはとても不親切におもえます。
今村様のようなエキスパートになるにはどんな本を読めばよいでしょうか?
もし、これらを感覚として理解されておられるのであれば、私には本当に遠い道程です。

いつも教えて頂き、大変恐縮です。
今回も、本当にありがとうございました。m(_ _)m

25185 表定義で使用する変数について 今村 誠 2004/02/29-18:26
記事番号25184へのコメント
脱初級!さんこんにちは
表定義の中で変数を使用するとイベントなどで同じ変数を使用した場合違う結果が出たり、
レポートでも同じ変数を使用することもあるので、変数を使わなくても同じことが出来るのであれば、
式が長くなっても関数(#条件選択等)や項目値([項目名])で記述した方が確実です。
表定義で使用したことを忘れて、イベントや一括で予期した答えが出ない場合、大変な労力を要します。

余談ですが、最近は定義時に使用している組み込み変数名を表やレポート等の表題に記入するようにしています。


戻る