みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
変数の設定[$a; 値: ExecuteSQL("SELECT \"id\" FROM \"テーブル\"" ;"";"")]
これをデバッガを開いて$aを見ていると、正しく$aにデータが入ったのがわかります。
続けて、
変数の設定[$b; 値: ExecuteSQL("SELECT \"id\" FROM \"テーブル\" where id = '1'" ;"";"")]
変数の設定[$b; 値: ExecuteSQL("SELECT \"id\" FROM \"テーブル\" where id = ?" ;"";""; id)]
このようにすると、変数$bがそもそもデータビューアに表示されません。
何回試しても同じなのですが、原因が全くわかりません。何か解決する手段はあるでしょうか?
Offline
SQLが実行されて値が返ってくるものは変数にセットされていました。
よく見ると、値が返ってこないもの(selectした結果、何も引っかからない)は
データビューアの変数のところに何も表示されませんでした。せめて変数にnullとかがセットされると思ったのですが・・・そういう仕様なのでしょうか。
Offline
変数に null が設定されると、その変数は存在しないモノとされる仕様の様ですね。
Offline
$変数 = "" は、
$変数を削除する時の所作で、
FMとしては当然の挙動です。
> せめて変数にnullとかがセットされる
式で判別・表示すれば良いのでは、
Let([
#sql=ExecuteSQL(・・・・・・);
#sql=Case(IsEmpty(#sql); Char(8203); #sql)
];
#sql
)
※ Char(8203)は、非表示文字(ゼロ幅スペース文字)で、FMにない null の代わり
Last edited by Hiro (2017-12-12 01:16:08)
Offline
Pages: 1
[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 549.63 KiB (Peak: 581.61 KiB) ]